学习笔记,感觉不错分享一下
先导入依赖
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import java.io.File;
如果是用maven导入依赖就用以下代码(写在pom.xml文件<dependencies>里面)
//jxl 2.6.12
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.12</version>
</dependency>
用jxl依赖创建Excel
try {
// 打开文件,目录里的Excel表格
WritableWorkbook book = Workbook.createWorkbook(new File("D:/test.xls"));
// 生成名为“sheet1”的工作表,参数0为第一页
WritableSheet sheet = book.createSheet("sheet1", 0);
// 生成一个保存字符串的单元格
Label label = new Label(0, 0, "字符串");
// 将定义好的单元格添加到工作表中
sheet.addCell(label);
// 生成一个保存数字的单元格
Number number = new Number(1, 0, 12345);
sheet.addCell(number);
// 生成一个保存日期的单元格
DateTime dtime = new DateTime(2, 0, new Date());
sheet.addCell(dtime);
// 写入数据并关闭文件
book.write();
book.close();
} catch (Exception e) {
System.out.println(e);
}
这一段是将Excel表格的内容提取出来作为字符串输出了
try {
Workbook book = Workbook.getWorkbook(new File("D:\\test.xls"));
Sheet sheet = book.getSheet(0);
for (int x=0;x<100;x++) {
for (int y=0;y<100;y++) {
try {
Cell cell = sheet.getCell(x, y);
String str = cell.getContents();
System.out.print(str);
}catch ( ArrayIndexOutOfBoundsException e){
continue;
}
}
}
book.close();
} catch (Exception e) {
System.out.println(e);
最终合并,将旧表"test"把所有的内容都转换为 字符串 导入到新表"test01"中
try {
WritableWorkbook book01 = Workbook.createWorkbook(new File("D:/test01.xls"));
WritableSheet sheet01 = book01.createSheet("sheet1", 0);
Workbook book = Workbook.getWorkbook(new File("D:/test.xls"));
Sheet sheet = book.getSheet(0);
for (int x = 0; x < 1000; x++) {
for (int y = 0; y < 1000; y++) {
try {
Cell cell = sheet.getCell(x, y);
String str = cell.getContents();
Label label = new Label(x, y, str);
sheet01.addCell(label);
System.out.println(str);
} catch (ArrayIndexOutOfBoundsException e) {
continue;
}
}
}
System.out.println("------已完成------");
book01.write();
book.close();
book01.close();
} catch (Exception e) {
System.out.println(e);
}
我只是一个新人,如果有用poi或者有更好的见解请大家积极提出,谢谢