• 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)简要使用方法如下:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Text;
     4 using System.IO;
     5 using jxl;
     6 using jxl.write;
     7 namespace ExcelWrap
     8 {
     9     /// <summary>
    10     /// jxl.dll帮助类
    11     /// 说明:jxl不支持excel2007以上格式
    12     /// </summary>
    13     public class JxlHelper
    14     {
    15 
    16         public static void ReadExcel(string ExcelPath)
    17         { 
    18           
    19         try {
    20             
    21             //Create a workbook object from the file at specified location. 
    22             //Change the path of the file as per the location on your computer. 
    23             Workbook wrk1 =  Workbook.getWorkbook(new FileInfo(ExcelPath));
    24             
    25             //Obtain the reference to the first sheet in the workbook
    26             Sheet sheet1 = wrk1.getSheet(0);
    27             
    28             //Obtain reference to the Cell using getCell(int col, int row) method of sheet
    29             Cell colArow1 = sheet1.getCell(0, 0);
    30             Cell colBrow1 = sheet1.getCell(1, 0);
    31             Cell colArow2 = sheet1.getCell(0, 1);
    32             
    33             //Read the contents of the Cell using getContents() method, which will return 
    34             //it as a String
    35             String str_colArow1 = colArow1.getContents();
    36             String str_colBrow1 = colBrow1.getContents();
    37             String str_colArow2 = colArow2.getContents();
    38             
    39             //Display the cell contents
    40             System.Console.WriteLine("Contents of cell Col A Row 1: ""+str_colArow1 + """);
    41             System.Console.WriteLine("Contents of cell Col B Row 1: ""+str_colBrow1 + """);
    42             System.Console.WriteLine("Contents of cell Col A Row 2: "" + str_colArow2 + """);
    43 
    44 
    45         }
    46         catch (jxl.read.biff.BiffException e)
    47         {
    48             Console.WriteLine(e.StackTrace);
    49         } catch (IOException e) {
    50             Console.WriteLine(e.StackTrace);
    51         }
    52         
    53         }
    54 
    55         public static void WriteExcel(string ExcelPath)
    56         { 
    57           try {
    58             FileInfo exlFile = new FileInfo(ExcelPath);
    59             WritableWorkbook writableWorkbook = Workbook
    60                     .createWorkbook(exlFile);
    61 
    62             WritableSheet writableSheet = writableWorkbook.createSheet(
    63                     "Sheet1", 0);
    64 
    65             //Create Cells with contents of different data types. 
    66             //Also specify the Cell coordinates in the constructor
    67             Label label = new Label(0, 0, "Label (String)");
    68             System.DateTime dt = System.DateTime.Now;
    69             jxl.write.DateTime date = new jxl.write.DateTime(1, 0, ref dt);
    70             jxl.write.Boolean bl = new jxl.write.Boolean(2, 0, true);
    71             Number num = new Number(3, 0, 9.99);
    72 
    73             //Add the created Cells to the sheet
    74             writableSheet.addCell(label);
    75             writableSheet.addCell(date);
    76             writableSheet.addCell(bl);
    77             writableSheet.addCell(num);
    78 
    79             //Write and close the workbook
    80             writableWorkbook.write();
    81             writableWorkbook.close();
    82 
    83         } catch (IOException e) {
    84             Console.WriteLine(e.StackTrace);
    85         } catch (jxl.write.biff.RowsExceededException e) {
    86             Console.WriteLine(e.StackTrace);
    87         } catch (WriteException e) {
    88             Console.WriteLine(e.StackTrace);
    89         }
    90         }
    91     }
    92 }

     5)其他的使用方法可以参考java实现的例子。网上关于java的例子还是挺多的。之前我并不知道它是通过java转换而来的,也没有可以使用的例子,只有通过Reflector反编译看源码,慢慢了解。

  • 相关阅读:
    WebSocket属性的简介及使用
    JAVA_基础逻辑运算符与位运算符使用
    JAVA_基础数据类型介绍与基本数据类型之间的运算规则
    ES6特性整理
    Vue-cli中的安装方法
    Kubernetes核心原理(一)之API Server
    Kubernetes核心原理(四)之Kubelet
    kubernetes-整体概述和架构详解
    Kubernetes dashboard认证访问
    kubeadm HA master(v1.14.0)离线包 + 自动化脚本 + 常用插件 For Centos/Fedora
  • 原文地址:https://www.cnblogs.com/fer-team/p/4919387.html
Copyright © 2020-2023  润新知