jxl.dll操作总结
1)Jxl是一个开源的Java Excel API项目,通过Jxl,Java可以很方便的操作微软的Excel文档。除了Jxl之外,还有Apache的一个POI项目,也可以操作Excel,两者相比之下:Jxl使用方便,但功能相对POI比较弱。
2)jxl.dll据说是一个韩国人写的,并且是用java语言写的。是通过一个ikvm的工具转换为jxl.dll供windows平台使用的。具体可以参照下面两个链接内容:
http://www.splinter.com.au/using-java-libraries-in-a-c-app-with-ikvm/
http://blog.csdn.net/kingdax1/article/details/2679610
3)并且jxl不支持excel2007及以上的版本。
4)简要使用方法如下:
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using jxl;
using jxl.write;
namespace ExcelWrap
{
/// <summary>
/// jxl.dll帮助类
/// 说明:jxl不支持excel2007以上格式
/// </summary>
public class JxlHelper
{ public static void ReadExcel(string ExcelPath)
{ try { //Create a workbook object from the file at specified location.
//Change the path of the file as per the location on your computer.
Workbook wrk1 = Workbook.getWorkbook(new FileInfo(ExcelPath)); //Obtain the reference to the first sheet in the workbook
Sheet sheet1 = wrk1.getSheet(); //Obtain reference to the Cell using getCell(int col, int row) method of sheet
Cell colArow1 = sheet1.getCell(, );
Cell colBrow1 = sheet1.getCell(, );
Cell colArow2 = sheet1.getCell(, ); //Read the contents of the Cell using getContents() method, which will return
//it as a String
String str_colArow1 = colArow1.getContents();
String str_colBrow1 = colBrow1.getContents();
String str_colArow2 = colArow2.getContents(); //Display the cell contents
System.Console.WriteLine("Contents of cell Col A Row 1: \""+str_colArow1 + "\"");
System.Console.WriteLine("Contents of cell Col B Row 1: \""+str_colBrow1 + "\"");
System.Console.WriteLine("Contents of cell Col A Row 2: \"" + str_colArow2 + "\""); }
catch (jxl.read.biff.BiffException e)
{
Console.WriteLine(e.StackTrace);
} catch (IOException e) {
Console.WriteLine(e.StackTrace);
} } public static void WriteExcel(string ExcelPath)
{
try {
FileInfo exlFile = new FileInfo(ExcelPath);
WritableWorkbook writableWorkbook = Workbook
.createWorkbook(exlFile); WritableSheet writableSheet = writableWorkbook.createSheet(
"Sheet1", ); //Create Cells with contents of different data types.
//Also specify the Cell coordinates in the constructor
Label label = new Label(, , "Label (String)");
System.DateTime dt = System.DateTime.Now;
jxl.write.DateTime date = new jxl.write.DateTime(, , ref dt);
jxl.write.Boolean bl = new jxl.write.Boolean(, , true);
Number num = new Number(, , 9.99); //Add the created Cells to the sheet
writableSheet.addCell(label);
writableSheet.addCell(date);
writableSheet.addCell(bl);
writableSheet.addCell(num); //Write and close the workbook
writableWorkbook.write();
writableWorkbook.close(); } catch (IOException e) {
Console.WriteLine(e.StackTrace);
} catch (jxl.write.biff.RowsExceededException e) {
Console.WriteLine(e.StackTrace);
} catch (WriteException e) {
Console.WriteLine(e.StackTrace);
}
}
}
}
5)其他的使用方法可以参考java实现的例子。网上关于java的例子还是挺多的。之前我并不知道它是通过java转换而来的,也没有可以使用的例子,只有通过Reflector反编译看源码,慢慢了解。
jxl.dll操作总结的更多相关文章
- c# 使用Renci.SshNet.dll操作SFTP总结
1.操作类 /// <summary> /// SFTP操作类 /// </summary> public class SFTPHelper { #region 字段或属性 p ...
- Asp.Net使用org.in2bits.MyXls.dll操作excel的应用
首先下载org.in2bits.MyXls.dll(自己的在~\About ASP.Net\Asp.Net操作excel) 添加命名空间: using org.in2bits.MyXls;using ...
- C#使用OpcNetApi.dll和OpcNetApi.Com.dll操作OPC
本人学习了一下.Net,恰好,51自学网,又要用这个.而网上很多VC6,VB6,VB .Net的但,很少C#的.现在研究一下,给出例子: 测试平台,是VS2008,KEPServer,OpcNetAp ...
- 跨DLL操作fopen的返回值导致出错
在设置成/MD或/MDd不会导致出错 设置成/MT或/MTd的情况下会导致出错 看了CRT的实现,估计是因为fopen创建了CriticalSection来保护文件,但是在/MT的情况下,一个DLL里 ...
- 使用PLCcom.dll操作西门子系列PLC
工作中经常需要了解plcdb块的数据!由于工作使用OPC类库进行通讯,开发,配置,使用都比较麻烦, 特在网上找到一个名为PLCcom.dll的类库,可以实现PLC读写操作,下面演示C#如何使用PLCc ...
- 使用JXL组件操作Excel和导出文件
这段时间参与的项目要求做几张Excel报表,由于项目框架使用了jxl组件,所以把jxl组件的详细用法归纳总结一下.本文主要讲述了以下内容: JXL及相关工具简介 如何安装JXL JXL的基本操作 创建 ...
- StackExchange.Redis.DLL 操作redis简化版
直接引入StackExchange.Redis.dll来操作redis using Newtonsoft.Json; using StackExchange.Redis; using System; ...
- StackExchange.Redis.DLL 操作redis加强版
直接引用StackExchange.Redis.dll这一个dll来操作redis App.config配置 <?xml version="1.0" encoding=&qu ...
- 使用jxl.jar操作Excel
在工程的build path中添加jxl.jar,网址:http://www.andykhan.com/jexcelapi/ import java.io.BufferedReader; import ...
随机推荐
- 时隔一年,window.scroll
function scrollToTop() { return function(btn, input) { var flag = false; var timer; function autoScr ...
- WPF:定制Checkbox样式,让“正确”绿得好看,让“错误”红的显眼
WPF提供了样式.模板.触发器.状态管理.矢量形状等方式,让我们不需要背景图片,也可以轻松定制控件的风格样式.下面是笔者针对Checkbox进行的样式定制,让“正确”绿得好看,让“错误”红的显眼. ...
- EMVTag系列4《5A 应用主账号》
L:var.最大10 -M(必备):此数据应存在并提供给终端,终端在读应用数据过程中,如果没有读到必备数据,终端中止交易:等同磁条上的应用主帐户. 银行卡号一般是16位或者19位.由如下三部分构成: ...
- Effiective C++ (一)
最近在看Effective C++ ,同时将总结一下里边的重要知识点: ########################## module 1 #################### ...
- 【Javascript】: for循环中定义的变量在for循环体外也有效
for循环中定义的变量在for循环体外也有效 <script> (function(){ var a = 111; for(var i=0;i<5;i++){ var carl = ...
- JVM学习总结二——垃圾回收算法
昨天总结了JVM内存分区相关的知识,这次我们将来了解下JVM的另一个核心知识点——垃圾回收算法.这一部分其实并不太难,如果对操作系统的内存处理算法有所了解,那么这部分算法其实只看名字就能明白,两者在原 ...
- 5.Knockout.Js(自定义绑定)
前言 你可以创建自己的自定义绑定 – 没有必要非要使用内嵌的绑定(像click,value等).你可以你封装复杂的逻辑或行为,自定义很容易使用和重用的绑定.例如,你可以在form表单里自定义像grid ...
- php匿名函数小示例
<?php //$fun = function($params){ // echo $params; //}; // //$fun('aa'); //例一 //在普通函数中定义一个匿名函数 // ...
- Linq To SQLite by CRUD
1, 希望使用linqtoSQLite 来对数据库实现CRUD, 开发环境 VS2013, 1.1 在网上找到了 LINQ to DB T4 Models, 配置参考网址链接: http://www. ...
- Mysql中将查询出来的多列的值用逗号拼接
select group_concat(字段名) from 表名