前言: 对于使用代码操作表格的方式,每种语言都有不同的方式,尤其是在Java这个库很强大的情况下,基本上就变得容易很
对于使用代码操作表格的方式,每种语言都有不同的方式,尤其是在Java这个库很强大的情况下,基本上就变得容易很多,对于XSL文件,在实际工作中使用到很多,使用代码实现表格的操作和导出,基本上每个程序员都要用到。
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.0.1</version>
</dependency>
导入坐标之后,就是实现表格的创建和操作了,这里展示的是创建,修改和创建的道理也是一样的。下面是源码
public class POIXls {
/**
* 操作xls表格
* @param workName 表格的名字
* @param attributeName 第一行的属性名
* @param savePath 要保存到的位置
* @param list List集合,用于写入表格的集合(为什么不用map,这个根据实际需求来操作,因为在实际工作中有些表格的属性名字是重复的,使用map会被覆盖)
* @throws IOException
*/
public void createWork(String workName, List<String> attributeName,List<List<String>> list,String savePath) throws IOException {
Workbook wb = new HSSFWorkbook();
//创建工作表
Sheet sheet = wb.createSheet(workName);
// sheet.setDefaultColumnWidth(width);//列宽
// 创建第一行,索引从零开始
Row index = sheet.createRow(0);//行
Cell cells = null;//列
//创建第一行的属性,即工作表的第一行属性的名称
for (int i = 0; i < attributeName.size(); i++) {
cells = index.createCell(i);
cells.setCellValue(attributeName.get(i));
}
for (int i = 0; i < list.size(); i++) {
index = sheet.createRow(i+1);//i+1是因为第一行我们已经创建好了,如果不加1会覆盖前面的信息,为什么列不需要,因为列是从每行的第一列开始
for (int j = 0; j < list.get(i).size(); j++) {
Cell cell = index.createCell(j);
cell.setCellValue(list.get(i).get(j));
}
}
//创建工作表文件夹,将写好的内容写到磁盘
File file = new File(savePath);
if (!file.exists()){
file.mkdir();
}
try(FileOutputStream fos = new FileOutputStream(savePath+workName+".xls")){
wb.write(fos);
fos.flush();
}finally {
if (wb!=null) wb.close();
}
}
public static void main(String[] args) throws IOException {
POIXls poiXls = new POIXls();
List<String> listAttributeName = new ArrayList<>();
listAttributeName.add("姓名");
listAttributeName.add("性别");
listAttributeName.add("电话");
listAttributeName.add("备注");
List<List<String>> list = new ArrayList<>();
for (int i=0;i<2;i++) {
List<String> arrayList = new ArrayList<>();
arrayList.add("张三丰"+i);
arrayList.add("男");
arrayList.add("10086");
arrayList.add("武当祖师"+i);
list.add(arrayList);
}
poiXls.createWork("测试",listAttributeName,list,"C:\\log\\");
}
结果:
这就是对于表格的操作,其中列宽是可以指定的,具体可以看代码。
注意:保存地址最好不要直接保存在系统盘下,有可能权限被拒绝,无法写入,如代码中的例子
C:\ ----->这个是写入失败的,权限被拒绝
C:\log\ ---->这样写入就不会出现问题,当然有可能是电脑的原因,具体看自己的使用习惯
文章出自:http://qh.itpxw.cn/peixun/software/2022121691.html
文章标题:小白必看:Java怎么做表格
免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员
用户级别:10
机构名称:IT培训网
联 系 人:罗老师
联系电话:13783581536
联系手机:13783581536
在线客服:
在 线 QQ:
电子邮件:
网站域名:http://www.itpxw.cn
注册时间:2016-07-18 11:07
最后登录:2024-02-20 13:02
Java定义方法的格式是什么?IT培训网小编来告诉大家。所谓方法...
大家在Java教程中会学到关于Java消息推送的知识,那么,Java消息...
常用的Java日期格式转换有哪些?IT培训网小编来告诉大家。 1...
Java创建对象数组的方法是什么?IT培训网小编来告诉大家。Ja...