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 ...
随机推荐
- oracle分区表(整理)
Oracle 表分区 早在8.0.5版本中,Oracle就将范围分区技术引入,现在分区功能已经越来越强大,包括支持扩展分区功能.Interval分区.外键分区.模拟列分区.以及分区建议器等.那么,分区 ...
- vnextcn
Flag 标题 通过 提交 AC% 难度 E1 编写Hello World网站 9 17 52% 1 E2 编写Hello World控制台程序 11 13 84% 1 E3 控制器基础练 ...
- PHP自定义函数使用外部变量
一般,php的自定义函数不能直接使用外部变量. 在php自定义函数中使用外部变量前,需要先使用global对外部变量进行声明. <?php $var = "hello World!& ...
- 上传图片的回调函数,callback作为一个函数针对回调函数
Tool.ImageUpload = function (selector, callback) { /// <summary>图片上传</summary> /// <p ...
- IIS、SQL SERVER和VS的安装顺序
正确安装顺序:先安装IIS,再安装SQL SERVER,最后安装VS. 如果先安装VS后安装的IIS,则需要找到对应的.net framework目录下,执行aspnet_regiis.exe,重新注 ...
- 查看BADI有哪些实现
TCODE:SE18
- Linux下强制修改root密码方法(图)
如果Linux操作系统的root密码,那怎么办呢?方法很多,下面再给大家介绍一种. [1] 进入以下画面后,按下e按钮,进入编辑模式: [2]进入以下的画面后,选择如下所示的选项,再次按下e按钮: 然 ...
- win7 系统如何设置快速启动栏
a.在任务栏上右键 -> 工具栏 -> 新建工具栏 -> 跳出选择文件夹对话框,在文件夹里面(光标山洞处)输入这个路径,然后按回车: %userprofile%\AppData\Ro ...
- windows下的node-canvas历程
背景:由于在前期开发的过程中,对前端的小图片采用了css-sprite,开始的时候都是在http://spritegen.website-performance.org/站点上合成图片及样式的,但是某 ...
- C++中数组求偏移量计算公式
已知数组:type A[10][5]A[0][0] --A[8][4]面试常考:数组定义A[0....x][0...y]已知A[m][n] --求A[k][l]的地址: &A[m][n] ...