Apache POI电子表格/Spreadsheet
本章将介绍如何创建一个电子表格,并使用Java操纵它。电子表格是在Excel文件中的页面;它包含具有特定名称的行和列。
读完本章后,将能够创建一个电子表格,并能在其上执行读取操作。
创建电子表格
首先,让我们创建一个使用在前面的章节中讨论的引用的类的电子表格。按照前面的章节中,首先创建一个工作簿,然后我们就可以去,并创建一个表。
下面的代码片段用于创建电子表格。
//Create Blank workbook XSSFWorkbook workbook = new XSSFWorkbook(); //Create a blank spreadsheet XSSFSheet spreadsheet = workbook.createSheet("Sheet Name");
在电子表格的行
电子表格有一个网格布局。行和列被标识与特定的名称。该列标识字母和行用数字。
下面的代码片段用于创建一个行。
XSSFRow row = spreadsheet.createRow((short)1);
写入到电子表格
让我们考虑雇员数据的一个例子。这里的雇员数据给出以表格形式。
Emp Id | Emp Name | 称号 |
---|---|---|
Tp01 | Gopal | Technical Manager |
TP02 | Manisha | Proof Reader |
Tp03 | Masthan | Technical Writer |
Tp04 | Satish | Technical Writer |
Tp05 | Krishna | Technical Writer |
以下代码是用来写上述数据到电子表格。
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 workbookXSSFWorkbook workbook = new XSSFWorkbook(); //Create a blank sheetXSSFSheet spreadsheet = workbook.createSheet( " Employee 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 = 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 systemFileOutputStream 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
Apache POI电子表格/Spreadsheet相关推荐
- java poi 更新excel_在Java Apache POI中更新现有的Excel文件
我正在尝试编写一个每天运行的 Java程序(使用任务调度程序),并且每次运行时都会在Excel电子表格中附加一列.我遇到的问题是它只是重写文件,而不是附加到它.我正在使用Apache POI,这里是相 ...
- java poi 段落行间距,Apache POI Word - 段落( Paragraph)
Apache POI Word - 段落( Paragraph) 在本章中,您将学习如何创建段落以及如何使用Java将其添加到文档中. 段落是Word文件中页面的一部分. 完成本章后,您将能够创建段落 ...
- 【POI】Apache POI字体/Fonts(八)
本章介绍如何设置不同的字体,应用样式,并在Excel电子表格中显示的方向不同角度的文字. 每个系统附带一个很大的字体如 Arial, Impact, Times New Roman,等字体集合也可以用 ...
- Apache POI 中文使用指南
Apache POI 中文使用手册 1. Apache POI 中文使用手册 1.1 Apache POI 项目介绍 1.2 处理组件 1.2.1 Excel 文件处理组件 1.2.2 Word 文件 ...
- java处理excel(java使用Apache POI处理Excel)
Apache POI是一套用来处理微软办公文档的java api,可以使用它来处理Excel,word,PowerPoint等等文档. 官网地址:http://poi.apache.org/ 下载 ...
- 【Apache POI】基础处理方法总结
有关Apache POI处理文档的基础方法总结如下: Java读取Excel文件和Java写入Excel文件参看博主的另外两篇文章. /*** POI处理基础方法总结* @author lmb**/ ...
- JAVA设置输入数据范围,如何使用Apache POI(SXSSF)为特定单元格设置数据(数字)格式区域设置?...
在Offixe OpenXML的(*.xlsx),用于货币数字格式仅货币符号可以本地化但不是小数分隔符.小数点分隔符来自运行Excel的Windows系统的Windows系统区域设置.千位分隔符还默认 ...
- Apache POI学习笔记
概述 Apache POI 简介是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office(Excel.WORD.Power ...
- GrapeCity Documents for Excel 与 Apache POI 功能对比
GrapeCity Documents for Excel 与 Apache POI 功能对比 GrapeCity Documents for Excel 是什么? GrapeCity Documen ...
最新文章
- matlab中的single是什么类型_MATLAB 中cell数据类型的使用方法
- 用python的turtle画圆-Python turtle 绘图画圆
- Android中BaseAdapter使用总结(imooc笔记)
- mysql连接串指定编码_MYSQL创建数据库时候直接指定编码和排序规则
- HeartBeat?你到底要干什么!
- leetcode1482. 制作 m 束花所需的最少天数(二分法)
- java方法有excel实现_Java实现EXCEL操作(1)
- python代码大全中文注释_零基础小白必看篇:Python代码注释规范代码实例解析操作(收藏)...
- 4.设计模式---单例模式(上)
- 大学计算机网络实验2,河南工业大学计算机网络实验报告2
- EasyUI加载树控件自动展开所有目录
- 颓废了1年+,今天开始勤(tui)奋(fei)啦
- ZeNmap端口扫描工具详解10种扫描方式附使用脚本扫描教程
- 像素、分辨率、尺寸概念与关系
- 十六进制表示法(二进制/十六进制/十进制之间的转换)
- 百度地图迁徙大数据_百度地图大数据看十一:各地商圈出现“红色拥堵”游乐场迎来“高光时刻”...
- GFPGAN:老旧照片的面部恢复神器
- php实现支付宝扫码付
- 方程组通解的参数向量形式、基本变量和自由变量
- java基础知识总结,javaweb参考资料大全
热门文章
- 推荐一些我觉得非常实用的工具、网站、资源等——持续更新中
- Linux 知:gdb
- JVM中篇:字节码与类的加载篇之02-字节码指令集
- 微信绑定了信用卡,为什么吃饭用微信支付只能用零钱而不能用信用卡里面的钱?
- ASTM 地球外太阳参考光谱标准 E490
- ios jenkins配置_ios jenkins从0快速配置
- linux acl库编译与使用,acl_cpp 的编译与使用
- 白光led 计算机模拟,P1口外接8只LED发光二极管模拟彩灯-单片机原理与应用-电子发烧友网站...
- 基于用户喜爱生成推荐电影
- 麦腾支付:区块链如何改变世界