本章将介绍如何创建一个电子表格,并使用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相关推荐

  1. java poi 更新excel_在Java Apache POI中更新现有的Excel文件

    我正在尝试编写一个每天运行的 Java程序(使用任务调度程序),并且每次运行时都会在Excel电子表格中附加一列.我遇到的问题是它只是重写文件,而不是附加到它.我正在使用Apache POI,这里是相 ...

  2. java poi 段落行间距,Apache POI Word - 段落( Paragraph)

    Apache POI Word - 段落( Paragraph) 在本章中,您将学习如何创建段落以及如何使用Java将其添加到文档中. 段落是Word文件中页面的一部分. 完成本章后,您将能够创建段落 ...

  3. 【POI】Apache POI字体/Fonts(八)

    本章介绍如何设置不同的字体,应用样式,并在Excel电子表格中显示的方向不同角度的文字. 每个系统附带一个很大的字体如 Arial, Impact, Times New Roman,等字体集合也可以用 ...

  4. Apache POI 中文使用指南

    Apache POI 中文使用手册 1. Apache POI 中文使用手册 1.1 Apache POI 项目介绍 1.2 处理组件 1.2.1 Excel 文件处理组件 1.2.2 Word 文件 ...

  5. java处理excel(java使用Apache POI处理Excel)

    Apache  POI是一套用来处理微软办公文档的java  api,可以使用它来处理Excel,word,PowerPoint等等文档. 官网地址:http://poi.apache.org/ 下载 ...

  6. 【Apache POI】基础处理方法总结

    有关Apache POI处理文档的基础方法总结如下: Java读取Excel文件和Java写入Excel文件参看博主的另外两篇文章. /*** POI处理基础方法总结* @author lmb**/ ...

  7. JAVA设置输入数据范围,如何使用Apache POI(SXSSF)为特定单元格设置数据(数字)格式区域设置?...

    在Offixe OpenXML的(*.xlsx),用于货币数字格式仅货币符号可以本地化但不是小数分隔符.小数点分隔符来自运行Excel的Windows系统的Windows系统区域设置.千位分隔符还默认 ...

  8. Apache POI学习笔记

    概述 Apache POI 简介是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office(Excel.WORD.Power ...

  9. GrapeCity Documents for Excel 与 Apache POI 功能对比

    GrapeCity Documents for Excel 与 Apache POI 功能对比 GrapeCity Documents for Excel 是什么? GrapeCity Documen ...

最新文章

  1. matlab中的single是什么类型_MATLAB 中cell数据类型的使用方法
  2. 用python的turtle画圆-Python turtle 绘图画圆
  3. Android中BaseAdapter使用总结(imooc笔记)
  4. mysql连接串指定编码_MYSQL创建数据库时候直接指定编码和排序规则
  5. HeartBeat?你到底要干什么!
  6. leetcode1482. 制作 m 束花所需的最少天数(二分法)
  7. java方法有excel实现_Java实现EXCEL操作(1)
  8. python代码大全中文注释_零基础小白必看篇:Python代码注释规范代码实例解析操作(收藏)...
  9. 4.设计模式---单例模式(上)
  10. 大学计算机网络实验2,河南工业大学计算机网络实验报告2
  11. EasyUI加载树控件自动展开所有目录
  12. 颓废了1年+,今天开始勤(tui)奋(fei)啦
  13. ZeNmap端口扫描工具详解10种扫描方式附使用脚本扫描教程
  14. 像素、分辨率、尺寸概念与关系
  15. 十六进制表示法(二进制/十六进制/十进制之间的转换)
  16. 百度地图迁徙大数据_百度地图大数据看十一:各地商圈出现“红色拥堵”游乐场迎来“高光时刻”...
  17. GFPGAN:老旧照片的面部恢复神器
  18. php实现支付宝扫码付
  19. 方程组通解的参数向量形式、基本变量和自由变量
  20. java基础知识总结,javaweb参考资料大全

热门文章

  1. 推荐一些我觉得非常实用的工具、网站、资源等——持续更新中
  2. Linux 知:gdb
  3. JVM中篇:字节码与类的加载篇之02-字节码指令集
  4. 微信绑定了信用卡,为什么吃饭用微信支付只能用零钱而不能用信用卡里面的钱?
  5. ASTM 地球外太阳参考光谱标准 E490
  6. ios jenkins配置_ios jenkins从0快速配置
  7. linux acl库编译与使用,acl_cpp 的编译与使用
  8. 白光led 计算机模拟,P1口外接8只LED发光二极管模拟彩灯-单片机原理与应用-电子发烧友网站...
  9. 基于用户喜爱生成推荐电影
  10. 麦腾支付:区块链如何改变世界