Apache POI(1):工作簿(workbook)和电子表(spreadsheet)
来源:互联网 发布:中国利用外资数据 编辑:程序博客网 时间:2024/05/16 11:48
1 演示代码
package com.hthk.iisz.util;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.Iterator;import java.util.Map;import java.util.Set;import java.util.TreeMap;import org.apache.poi.ss.usermodel.Cell;import org.apache.poi.ss.usermodel.Row;import org.apache.poi.ss.usermodel.Workbook;import org.apache.poi.xssf.usermodel.XSSFRow;import org.apache.poi.xssf.usermodel.XSSFSheet;import org.apache.poi.xssf.usermodel.XSSFWorkbook;/* * Workbook 工作簿 * Spreadsheet 电子表格,电子表格是在Excel文件中的页面;它包含具有特定名称的行和列。 * Row,Cell 行,列 * */public class WorkBookAndSheet {public static void main(String[] args) throws Exception{//File file = createBlankWorkbook();//Workbook workbook = openExistingWorkbook(file);//createSheetAndFillData();readExcelData();}//创建一个空白的Workbookpublic static File createBlankWorkbook() throws Exception {//Create Blank WorkBookXSSFWorkbook workbook = new XSSFWorkbook();//create file system using specific nameFile file = new File("createworkbook.xlsx");FileOutputStream out = new FileOutputStream(file);//write operation workbook using file out objectworkbook.write(out);//Write out this workbook to an Outputstream.out.close();System.out.println("createworkbook.xlsx written successfully");return file;}//打开一个已经存在的Workbookpublic static Workbook openExistingWorkbook(File file) throws Exception{FileInputStream fis = new FileInputStream(file);//Get the workbook instance for XLSX fileXSSFWorkbook workbook = new XSSFWorkbook(fis);if(file.isFile()&& file.exists()){System.out.println("open successfully");}else{System.out.println("open failed");}return workbook;}//创建一个空白的Workbook并写入数据public static void createSheetAndFillData() throws Exception{//create blank workbookXSSFWorkbook workbook = new XSSFWorkbook();//create a blank spreadsheet XSSFSheet sheet = (XSSFSheet) workbook.createSheet("Employ Info");//create row objectXSSFRow row;//this data needs to be written(Object[])Map<String,Object[]> empinfo = new TreeMap<String,Object[]>();empinfo.put("1", new Object[] { "EMP ID", "EMP NAME", "DESIGNATION" });empinfo.put("2", new Object[] { "tp01", "Gopal", "Technical Manager" });empinfo.put("3", new Object[] { "tp02", "Manisha", "Proof Reader" });empinfo.put("4", new Object[] { "tp03", "Masthan", "Technical Writer" });empinfo.put("5", new Object[] { "tp04", "Satish", "Technical Writer" });empinfo.put("6", new Object[] { "tp05", "Krishna", "Technical Writer" });//iterate over data and write to sheetSet<String> keyid = empinfo.keySet();int rowid=0;for(String key : keyid){row = sheet.createRow(rowid++);//create row objectObject[] objectArr = empinfo.get(key);int cellid = 0;for(Object obj : objectArr){Cell cell = row.createCell(cellid++);//create cell objectcell.setCellValue((String)obj);}}//Write the workbook in file systemFileOutputStream fos = new FileOutputStream(new File("employ.xlsx"));workbook.write(fos);fos.close();System.out.println("fill data successfully");}//读取Workbook的内容并输出public static void readExcelData() throws Exception{FileInputStream fis = new FileInputStream(new File("employ.xlsx"));XSSFWorkbook workbook = new XSSFWorkbook(fis);XSSFSheet sheet = workbook.getSheetAt(0);//index - of the sheet number (0-based physical & logical)Iterator<Row> rowIterator = sheet.iterator(); while(rowIterator.hasNext()){ XSSFRow row = (XSSFRow) rowIterator.next(); Iterator<Cell> cellIterator = row.cellIterator(); while(cellIterator.hasNext()){ Cell cell = cellIterator.next(); switch (cell.getCellType()) {case Cell.CELL_TYPE_NUMERIC:System.out.print(cell.getNumericCellValue() +"\t\t ");break;case Cell.CELL_TYPE_STRING:System.out.print(cell.getStringCellValue()+"\t\t ");break;} } System.out.println(); } fis.close(); }}
2 同类技术
Java Aspose Cells,JXL,JExcel.关于这几种的技术的比较,可参考一下连接http://www.yiibai.com/apache_poi/apache_poi_java_excel.html
1 0
- Apache POI(1):工作簿(workbook)和电子表(spreadsheet)
- Apache POI电子表格/Spreadsheet
- Apache POI工作簿
- 【POI】Apache POI电子表格/Spreadsheet(六)
- 【POI】Apache POI工作簿(五)
- 使用Apache POI WorkBook 进行下载文件的一个问题
- Apache Poi工作薄
- 工作簿(Workbook)基本操作应用示例
- 工作簿(Workbook)基本操作应用示例
- POI-----POI操作Excel-1、工作簿
- workbook,工作日志记录管理和统计工具
- 工作簿(Workbook)基本操作应用示例(二)
- 工作簿(Workbook)基本操作应用示例(一)
- [VBA]Ch03 工作簿(Workbook)基本操作应用示例(一)
- POI Workbook接口和HSSFWorkbook对象和XSSFWorkbook对象操作相应excel版本
- Workbook POI 对Excel表格的读取
- 电子表
- 电子表
- 2016.08.01 生活随笔
- 排序整形数组
- Java 语言实现的八大排序算法
- Eclipse与Android源码中ProGuard工具的使用
- 游戏开发基础之摄像机围绕物体
- Apache POI(1):工作簿(workbook)和电子表(spreadsheet)
- 【Android每周专题】Android中maxSdkVersion、minSdkVersion、targetSdkVersion、以及project.properties中的target
- GameBox烧写版本时常见异常
- android下载
- ARM异常和中断
- nw.js入门
- Shader特效——实现“噪声”【基于ShaderToy】【GLSL】
- Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled
- Cocos2d-x之LUA脚本引擎深入分析