WritableWorkbook 初次使用归纳总结

本文介绍如何使用Java的JXL和POI库进行Excel表格操作,包括从模板创建、设置单元格样式、添加数据及保存工作簿等步骤。适合初次接触Java Excel操作的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用Java操作Excel表格时,我们会用到的工具就是JXL(java excel api)和POI,这是我第一次使用jxl方法,就简单归纳总结下。

首先要获取的Excel中的模板,没有模板的话就先新建一个可读写的工作簿(WritableWorkbook)。

//获得模板
Workbook wb = Workbook.getWorkbook("\\files\\DocumentTemplate\\test.xls"));
//创建可以读写的excel 
if(wb != null){
    wbook = Workbook.createWorkbook(new File("\\files\\Document\\test.xls"),wb);
}else{
    wbook = Workbook.createWorkbook(new File("\\files\\Document\\test.xls"));
}

接下来就是操作对应的sheet。

//这里xxx表示excel表中对应的sheet的名称,若getSheet(0)表示第一个sheet,以此类推
WritableSheet wsheet = wbook.getSheet("xxx");

//设置样式
//设置数字格式
NumberFormat nf = new NumberFormat("#.##"); 
 //设置表单格式
WritableCellFormat wcfN = new WritableCellFormat(nf);
 //单元格背景
wcfN.setBackground(Colour.YELLOW); 
wcfN.setBorder(Border.ALL,BorderLineStyle.THIN,Colour.BLACK);
//单元格字体居中
wcfN.setAlignment(Alignment.CENTRE);

//将数据添加到单元格中
//这里第一二两个"0,0"表示表格中的A1,"0,1"的话表示B1,......
wsheet.addCell(new Number(0, 0, 3.14, wcfN));

//最后将内容写入并关掉工作簿
// 写入Exel工作表   
wbook.write();  
// 关闭Excel工作薄对象   
wb.close(); 

 

### 使用 JExcelAPI 的 `WritableWorkbook` 类导出指定数量的列 为了实现通过 Java 应用程序使用 JExcelAPI 创建并写入 Excel 文件中的特定列数,可以按照如下方法构建代码逻辑[^1]。 创建一个新的工作簿实例时,需调用 `Workbook.createWorkbook()` 方法,并传入一个表示目标文件路径的 `FileOutputStream` 对象。随后,在该工作簿内添加新的工作表以便于后续操作: ```java // 创建文件输出流对象指向要保存的位置 File file = new File("example.xls"); FileOutputStream fos = new FileOutputStream(file); // 基于输出流创建可写的Excel工作薄 WritableWorkbook workbook = Workbook.createWorkbook(fos); ``` 定义好工作簿之后,则可通过 `createSheet(String name, int index)` 函数来增加一张空白的工作表用于填充数据。这里假设名为 "Data Sheet" 的新表位于索引位置 0 处: ```java // 添加名称为 "Data Sheet", 索引号为 0 的工作表到工作簿中 WritableSheet sheet = workbook.createSheet("Data Sheet", 0); ``` 当准备好工作表后,就可以向其中插入具体数值了。对于每一行而言,先利用 `sheet.addCell(new Label(columnIndex, rowIndex, value))` 来逐个填充值;如果想要控制列的数量,只需调整循环结构或条件判断语句即可满足需求。下面的例子展示了如何往前三列表格里加入简单的字符串型数据项: ```java for (int i = 0; i < 3; ++i) { // 控制总共有三列 for (int j = 0; j < 5; ++j) { String cellValue = "Row-" + (j+1) + ", Col-" + (i+1); Label label = new Label(i, j, cellValue); sheet.addCell(label); } } ``` 完成所有必要的编辑动作以后,记得关闭当前打开的工作簿资源以及释放关联的 I/O 流,从而确保生成完整的 .xls 文件供用户查看: ```java workbook.write(); workbook.close(); fos.flush(); fos.close(); ``` 上述过程即完成了基于给定数目列的数据记录至 Excel 表单内的任务。值得注意的是,实际开发过程中可能还需要考虑更多细节方面的要求,比如样式定制、异常处理机制等[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值