利用poi读写excel和word(未测试)
来源:互联网 发布:我欲封天时装进阶数据 编辑:程序博客网 时间:2024/06/05 20:19
如果在项目中想把excel数据导入到数据库中或者将数据库中的数据导出为excel,POI是个不错的选择。Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对Microsoft Office格式档案读和写的功能。
HSSF - 提供读写Microsoft Excel格式档案的功能。
XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。
HWPF - 提供读写Microsoft Word格式档案的功能。
HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
HDGF - 提供读写Microsoft Visio格式档案的功能。
下面是两个demo,分别读写excel和word:
读取xls数据:
package poi.xls;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFCell;import java.io.FileInputStream;/** * 利用POI实现从excel中读取内容 */public class XLSReader {public static String fileToRead = "c:/test.xls";public static void main(String args[]) throws Exception{// 创建对Excel工作簿文件的引用HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToRead));//HSSFSheet sheet = workbook.getSheet("第一页");HSSFSheet sheet = workbook.getSheetAt(0);//读取指定索引行的值HSSFRow row = sheet.getRow(1);//读取指定索引格的值HSSFCell id = row.getCell((short) 0);HSSFCell name = row.getCell((short) 1);HSSFCell password = row.getCell((short) 2);//读出数据System.out.println("id: " + id.getNumericCellValue());System.out.println("name: " + name.getRichStringCellValue());System.out.println("password: " + password.getRichStringCellValue());}}
创建xls文件:
package poi.xls;import java.io.FileOutputStream;import org.apache.poi.hssf.usermodel.HSSFRichTextString;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFCell;/** * 利用POI实现向excel中写入内容 */public class XLSWriter {public static String fileToWrite = "c:/test.xls";public static void main(String[] args) throws Exception {// 创建新的Excel 工作簿HSSFWorkbook workbook = new HSSFWorkbook();// 在Excel工作簿中建一工作表,其名为缺省值HSSFSheet sheet = workbook.createSheet("第一页");//HSSFSheet sheet = workbook.createSheet();// 在指定的索引处创建一行HSSFRow row = sheet.createRow((short) 0);//在指定索引处创建单元格HSSFCell id = row.createCell((short) 0);// 定义单元格为字符串类型id.setCellType(HSSFCell.CELL_TYPE_NUMERIC);// 在单元格中输入一些内容,HSSFRichTextString可以解决乱码问题HSSFRichTextString idContent = new HSSFRichTextString("用户id号");id.setCellValue(idContent);HSSFCell name = row.createCell((short) 1);name.setCellType(HSSFCell.CELL_TYPE_STRING);HSSFRichTextString nameContent = new HSSFRichTextString("用户名");name.setCellValue(nameContent);HSSFCell password = row.createCell((short) 2);password.setCellType(HSSFCell.CELL_TYPE_STRING);HSSFRichTextString passwordContent = new HSSFRichTextString("用户密码");password.setCellValue(passwordContent);// 新建一输出文件流FileOutputStream out = new FileOutputStream(fileToWrite);// 把相应的Excel 工作簿存盘workbook.write(out);out.flush();// 操作结束,关闭文件out.close();System.out.println("文件生成..." + fileToWrite);}}
读取word内容:
package poi.doc;/** * 利用POI实现从word中读取内容 */import java.io.FileInputStream;import org.apache.poi.hwpf.extractor.WordExtractor;public class DOCReader {public static String fileToRead = "c:/test.doc";public static void main(String[] args) throws Exception{// 创建输入流读取DOC文件FileInputStream in = new FileInputStream(fileToRead);// 创建WordExtractorWordExtractor extractor = new WordExtractor(in);// 对DOC文件进行提取String text = extractor.getText();System.out.println(text);}}
创建word 文件:
package poi.doc;import java.io.ByteArrayInputStream;import java.io.FileOutputStream;import org.apache.poi.poifs.filesystem.POIFSFileSystem;/** * 利用POI实现向word写入内容 */public class DOCWriter {public static String fileToWrite = "c:/test.doc";public static void main(String[] args) throws Exception{String content = "测试数据,将被写入文档";byte b[] = content.getBytes();ByteArrayInputStream bais = new ByteArrayInputStream(b);POIFSFileSystem fs = new POIFSFileSystem();FileOutputStream ostream = new FileOutputStream(fileToWrite);fs.writeFilesystem(ostream);bais.close();ostream.close();}}
上面是几个小示例,要使用更复杂的应用,可以参照POI的API。
0 0
- 利用poi读写excel和word(未测试)
- 利用poi读写excel和word
- poi读写excel和word
- poi读写excel和word
- 使用poi读写excel和word .
- 利用poi导出word excel
- java利用poi 读写(导入导出)word、excel(数组越界求解决办法)
- poi 操作excel 常用操作(未测试)
- 利用POI 组件包读写Excel文件
- 利用Apache POI读写Microsoft Excel文件
- java利用poi包读写excel
- 利用POI读取老版本的word和excel以及txt文件的内容
- 简介POI处理Excel和Word文件格式
- 使用POI操作Excel和Word
- 使用POI操作Excel和Word
- poi解析word和excel文档
- poi读写word模板
- poi读写word模板 .
- SQL server 对大小写的敏感
- 【Ionic实战】自动升级Android APP
- 怎样花两年时间去面试一个人
- ListView中复用机制产生的数据错乱的一些思考
- GNU Make简明教程
- 利用poi读写excel和word(未测试)
- SpringBoot入门系列:第二篇 再学Hello World
- 【从苹果apns的feedback服务器获取推送失败的token】
- {学习笔记}[算法第四版]第一章
- ViewController之间传值
- Far Relative’s Problem(贪心算法)
- TelephonyManager类详解
- java中的sleep()和wait()的区别
- java学习之计算器基本实现