栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Java

Office文档操作

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Office文档操作

 对照关系
HSSF - 提供读写Microsoft Excel XLS格式档案的功能。
XSSF - 提供读写Microsoft Excel OOXML XLSX格式档案的功能。
HWPF - 提供读写Microsoft Word DOC97格式档案的功能。
XWPF - 提供读写Microsoft Word DOC2003格式档案的功能。
HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
HDGF - 提供读Microsoft Visio格式档案的功能。
HPBF - 提供读Microsoft Publisher格式档案的功能。
HSMF - 提供读Microsoft Outlook格式档案的功能。

注意:
1.生成excel时,注意xls和xlxs是有区别的
xls与xlsx的区别在于是不同版本生成的文件。
xls是excel2003及以前版本生成的文件格式。
xlsx是excel2007及以后版本生成的文件格式(excel 2007之后版本可以打开xls格式的文件)。
如果后缀使用错误,使用POI创建一个新的xlsx,提示创建成功,但是打开xlsx文件的时候,会报错打不开,文件的格式与扩展名指定的格式不一致

2.在依赖之后,启动报错了
在使用tomcat9.0启动的时候,报maven仓库找不到xalanxalan2.7.2xercesImpl.jar (系统找不到指定的文件)问题
原因:为什么为加载到D:XXX目录xalanxalan2.7.2xercesImpl.jar这个文件,各种百度谷歌,最后找到问题是tomcat 加载包的问题。tomcat在8.5.2 中 修改了加载jar的方式,8.5.2 版本会解析jar中MANIFEST.MF文件,当该文件包含class-path属性时,会把该属性对象值,解析成需要加载的jar给加载进来。这个就是根本原因。没得办法,只有自降版本到8.5.0就能解决这个问题。为了解决这个问题,花了老子半天时间。
https://www.cnblogs.com/shuo1208/p/7603144.html
使用

第一步:引入POI依赖
推荐引入poi-ooxml,这个包会自动关联引入poi包,且可以很好的支持Office2007+的文档格式


    org.apache.poi
    poi-ooxml
    ${poi.version}
代码

1.生成xls

		//1、创建workbook,对应一个Excel
		HSSFWorkbook wb = new HSSFWorkbook();
		
		//2、创建一个sheet,参数为sheet的名称
		HSSFSheet sheet = wb.createSheet(fileName);
		
		//3、创建第一行
		HSSFRow row = sheet.createRow(0);
		
		//4、创建第一行的列信息,也就是列名
		HSSFCell cell = row.createCell(0);
		cell.setCellValue("机构名称");
		
		cell = row.createCell(1);
		cell.setCellValue("机构编号");
		
		//5、写入数据
		for(int i=1;i<=3;i++){
			row = sheet.createRow(i);
			cell = row.createCell(0);
			cell.setCellValue(111);
			cell = row.createCell(1);
			cell.setCellValue(222);
		}
		
		FileOutputStream os = new FileOutputStream(testFile);;
		try{
			wb.write(os);
		}catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			os.close();
		}

2.生成xlsx

        XSSFWorkbook workbook=new XSSFWorkbook();
        //1.创建工作表sheet
        Sheet sheet=workbook.createSheet("这个在excel文档内容的下部显示"); // 这个在excel文档内容的下部显示,根据需要自定义
        //2.创建第一行
        Row row=sheet.createRow(0);
        Cell cell=null;
        //3.插入第一行数据的表头
        for(int i=0;i<3;i++){
        	cell=row.createCell(i);
        	cell.setCellValue("第"+(i+1)+"列");
        }
        //4.写入数据
        for (int i=1;i<=10;i++){
        	Row nrow=sheet.createRow(i);
        	Cell ncell=nrow.createCell(0);
        	ncell.setCellValue("第"+i+"列,第一个字段");
        	ncell=nrow.createCell(1);
        	ncell.setCellValue("第"+i+"列,第二个字段");
        	ncell=nrow.createCell(2);
        	ncell.setCellValue("第"+i+"列,第三个字段");
        }
		//5.生成文件
		FileOutputStream os = new FileOutputStream(testFile);;
		try {
			workbook.write(os);
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		finally{
			os.close();
		}

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/785535.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号