Apache POI电子表格/Spreadsheet
来源:互联网 发布:完美dota2 有mac版 编辑:程序博客网 时间:2024/05/01 10:51
本章将介绍如何创建一个电子表格,并使用Java操纵它。电子表格是在Excel文件中的页面;它包含具有特定名称的行和列。
读完本章后,将能够创建一个电子表格,并能在其上执行读取操作。
创建电子表格
首先,让我们创建一个使用在前面的章节中讨论的引用的类的电子表格。按照前面的章节中,首先创建一个工作簿,然后我们就可以去,并创建一个表。
下面的代码片段用于创建电子表格。
//Create Blank workbookXSSFWorkbook workbook = new XSSFWorkbook(); //Create a blank spreadsheetXSSFSheet spreadsheet = workbook.createSheet("Sheet Name");
在电子表格的行
电子表格有一个网格布局。行和列被标识与特定的名称。该列标识字母和行用数字。
下面的代码片段用于创建一个行。
XSSFRow row = spreadsheet.createRow((short)1);
写入到电子表格
让我们考虑雇员数据的一个例子。这里的雇员数据给出以表格形式。
以下代码是用来写上述数据到电子表格。
import java.io.File;import java.io.FileOutputStream;import java.util.Map;import java.util.Set;import java.util.TreeMap;import org.apache.poi.ss.usermodel.Cell;import org.apache.poi.xssf.usermodel.XSSFRow;import org.apache.poi.xssf.usermodel.XSSFSheet;import org.apache.poi.xssf.usermodel.XSSFWorkbook;public class Writesheet { public static void main(String[] args) throws Exception { //Create blank workbook XSSFWorkbook workbook = new XSSFWorkbook(); //Create a blank sheet XSSFSheet spreadsheet = workbook.createSheet( " Employee Info "); //Create row object XSSFRow 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 sheet Set < String > keyid = empinfo.keySet(); int rowid = 0; for (String key : keyid) { row = spreadsheet.createRow(rowid++); Object [] objectArr = empinfo.get(key); int cellid = 0; for (Object obj : objectArr) { Cell cell = row.createCell(cellid++); cell.setCellValue((String)obj); } } //Write the workbook in file system FileOutputStream out = new FileOutputStream( new File("Writesheet.xlsx")); workbook.write(out); out.close(); System.out.println( "Writesheet.xlsx written successfully" ); }}
上面的Java代码保存为Writesheet.java,然后并在命令提示符下编译运行,如下所示:
$javac Writesheet.java$java Writesheet
这将编译和执行来生成一个Excel文件名为Writesheet.xlsx在当前目录中,在命令提示符处键入以下输出。
Writesheet.xlsx written successfully
Writesheet.xlsx文件的内容如下所示。
从电子表格读取数据
让我们考虑上述excel文件命名Writesheet.xslx作为输入文件。注意下面的代码;它是用于从电子表格中读取数据。
import java.io.File;import java.io.FileInputStream;import java.util.Iterator;import org.apache.poi.ss.usermodel.Cell;import org.apache.poi.ss.usermodel.Row;import org.apache.poi.xssf.usermodel.XSSFRow;import org.apache.poi.xssf.usermodel.XSSFSheet;import org.apache.poi.xssf.usermodel.XSSFWorkbook;public class Readsheet { static XSSFRow row; public static void main(String[] args) throws Exception { FileInputStream fis = new FileInputStream( new File("WriteSheet.xlsx")); XSSFWorkbook workbook = new XSSFWorkbook(fis); XSSFSheet spreadsheet = workbook.getSheetAt(0); Iterator < Row > rowIterator = spreadsheet.iterator(); while (rowIterator.hasNext()) { 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(); }}
让我们把上面的代码保存在Readsheet.java文件,然后编译并在命令提示符下运行,如下所示:
$javac Readsheet.java$java Readsheet
如果您的系统环境配置了POI库,它会编译和执行产生在命令提示符处键入以下输出。
EMP ID EMP NAME DESIGNATION tp01 Gopal Technical Manager tp02 Manisha Proof Reader tp03 Masthan Technical Writer tp04 Satish Technical Writer tp05 Krishna Technical Writer
来源:http://www.yiibai.com/apache_poi/apache_poi_spreadsheets.html
阅读全文
0 0
- Apache POI电子表格/Spreadsheet
- 【POI】Apache POI电子表格/Spreadsheet(六)
- Apache Poi 创建电子表格
- uva196 - Spreadsheet(电子表格)
- uva 196 Spreadsheet(电子表格)
- Apache POI(1):工作簿(workbook)和电子表(spreadsheet)
- 使用 Apache Jakarta POI 从 Excel 电子表格生成外部表
- 使用 Apache Jakarta POI 从 Excel 电子表格生成外部表
- java poi 创建电子表格
- Spreadsheet电子表格控件安装及用法总结
- JAVA操作Excel电子表格(poi)
- JAVA操作Excel电子表格(poi)
- OWC学习笔记-电子表格(Spreadsheet)第一个实例
- OWC学习笔记-电子表格(Spreadsheet)风格属性设置
- 电子表格(SpreadSheet)主要属性、方法和事件
- 电子表格(SpreadSheet)主要属性、方法和事件
- 电子表格文件读写控件Spreadsheet免费下载购买地址
- 电子表格控件Spreadsheet 对象方法事件详细介绍
- 如何下载微信公众号的音频文件
- 约瑟夫问题1
- 《淘宝技术这十年》读书笔记
- hdu 5943 二分图匹配
- Spring中的设计模式学习
- Apache POI电子表格/Spreadsheet
- fork()源码
- IOS input 光标大小调整
- Redis缓存业务实践
- Apache POI单元格/Cells
- Linux笔试面试题总结
- BeautifulSoup中的HTML解析器对比
- js数组去重
- 设置 SSH 通过密钥登录