jxl的使用总结(java操作excel)
jxl.jar是通过java操作excel表格的工具类库;
jxl.jar包:链接:http://pan.baidu.com/s/1o8qFJHw 密码:5jyq
1:通过模拟实现创建一个表格,然后模拟添加到表格中数据,实际开发过程中都是通过从数据库导入到表格中的数据
1 package com.bie; 2 3 import java.io.File; 4 import java.io.IOException; 5 6 import jxl.Workbook; 7 import jxl.write.Label; 8 import jxl.write.WritableSheet; 9 import jxl.write.WritableWorkbook; 10 import jxl.write.WriteException; 11 import jxl.write.biff.RowsExceededException; 12 13 /** 14 * @author BieHongLi 15 * @version 创建时间:2017年3月3日 下午4:03:18 16 * 创建excel表格 17 */ 18 public class CreateExcel { 19 20 public static void main(String[] args) 21 throws IOException, RowsExceededException, WriteException { 22 //1:创建excel文件 23 File file=new File("test.xls"); 24 file.createNewFile(); 25 26 //2:创建工作簿 27 WritableWorkbook workbook=Workbook.createWorkbook(file); 28 //3:创建sheet,设置第二三四..个sheet,依次类推即可 29 WritableSheet sheet=workbook.createSheet("用户管理", 0); 30 //4:设置titles 31 String[] titles={"编号","账号","密码"}; 32 //5:单元格 33 Label label=null; 34 //6:给第一行设置列名 35 for(int i=0;i<titles.length;i++){ 36 //x,y,第一行的列名 37 label=new Label(i,0,titles[i]); 38 //7:添加单元格 39 sheet.addCell(label); 40 } 41 //8:模拟数据库导入数据 42 for(int i=1;i<10;i++){ 43 //添加编号,第二行第一列 44 label=new Label(0,i,i+""); 45 sheet.addCell(label); 46 47 //添加账号 48 label=new Label(1,i,"10010"+i); 49 sheet.addCell(label); 50 51 //添加密码 52 label=new Label(2,i,"123456"); 53 sheet.addCell(label); 54 } 55 56 //写入数据,一定记得写入数据,不然你都开始怀疑世界了,excel里面啥都没有 57 workbook.write(); 58 //最后一步,关闭工作簿 59 workbook.close(); 60 } 61 }
演示效果如下所示:
2:读取excel表格里面的数据,案例如下所示:
package com.bie; import java.io.File; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; /** * @author BieHongLi * @version 创建时间:2017年3月3日 下午5:28:53 * 读取excel的表格的数据 */ public class ReadExcel { public static void main(String[] args) throws Exception{ //1:创建workbook Workbook workbook=Workbook.getWorkbook(new File("test.xls")); //2:获取第一个工作表sheet Sheet sheet=workbook.getSheet(0); //3:获取数据 System.out.println("行:"+sheet.getRows()); System.out.println("列:"+sheet.getColumns()); for(int i=0;i<sheet.getRows();i++){ for(int j=0;j<sheet.getColumns();j++){ Cell cell=sheet.getCell(j,i); System.out.print(cell.getContents()+" "); } System.out.println(); } //最后一步:关闭资源 workbook.close(); } }
演示效果如下所示:
革命尚未成功,别同志仍需努力啊!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?