java poi 导出Excel并累加数据

java poi 导出Excel并累加数据
java poi 导出Excel并累加数据

JSP中导入导出Excel文件

JSP中导入导出Excel文件 一.POI简介 Jakarta POI 是apache的子项目,目标是处理ole2对象。它提供了一组操纵Windows文档的Java API 目前比较成熟的是HSSF接口,处理MS Excel(97-2002)对象。它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel 对象,你可以控制一些属性如sheet,cell等等。 二.HSSF概况 HSSF 是sHorrible SpreadSheet Format的缩写,也即“讨厌的电子表格格式”。也许HSSF的名字有点滑稽,就本质而言它是一个非常严肃、正规的API。通过HSSF,你可以用纯Java代码来读取、写入、修改Excel文件。 HSSF 为读取操作提供了两类API:usermodel和eventusermodel,即“用户模型”和“事件-用户模型”。前者很好理解,后者比较抽象,但操作效率要高得多。 三.开始编码 1 .准备工作 要求:JDK 1.4+POI开发包 可以到 https://www.360docs.net/doc/f418441521.html,/dyn/closer.cgi/jakarta/poi/ 最新的POI工具包 2 . EXCEL 结构 HSSFWorkbook excel 文档对象介绍 HSSFSheet excel的表单 HSSFRow excel的行 HSSFCell excel的格子单元 HSSFFont excel字体 HSSFName 名称 HSSFDataFormat 日期格式 HSSFHeader sheet头 HSSFFooter sheet尾 和这个样式 HSSFCellStyle cell样式

Java实现Excel数据导入和导出的研究与应用

Java实现Excel数据导入导出的研究与应用 王晶晶 北京邮电大学网络教育学院(100088) E-mail:bolalisi_double@https://www.360docs.net/doc/f418441521.html, 摘要:Excel能够通过功能强大的工具将杂乱的数据组织成有用的信息,然后分析、交流和共享所得到的结果。很多系统由于存在着大量需要处理的数据,Excel本身强大的功能使得它成为处理分析这些数据首选的工具。随着Java语言成为越来越多系统的开发语言,利用Java进行Excel的数据导入导出在很多系统中都发挥着重要的作用,本文主要介绍了Jxl API的主要功能,并结合实例探讨了利用Jxl API操作Excel数据的导入和导出。 关键字:Java;Excel; Jxl API;数据导入导出 中图分类号:TP312文献标识码:A 1. 引言 MS的电子表格(Excel)是Office的重要成员,是保存统计数据的一种常用格式。在一个Java应用中,将一部分数据生成Excel格式,是与其他系统无缝连接的重要手段。在远程网络教学系统中,利用Excel表格统计学生的作业考试情况信息,便于老师了解学生的学习情况,分析教学效果,制定教学计划。所以,用Java操作Excel表格,导出相关的信息对于远程网络教育系统有着的很重要的意义。 在开源世界中,有两套比较有影响的API提供Excel数据导入导出的功能,一个是POI,一个是jExcelAPI。本文结合基于J2EE开发的多媒体教学系统中提供的将学生作业信息导出到Excel表格中的实例,详细阐述了利用JAVA开发的jExcelAPI操作excel的方法。 2. Jxl 简介 2.1 Java语言简介 Java语言具有面向对象、与平台无关、安全、稳定和多线程等优良特性,是目前软件设计中极为强大的编程语言[1]。它具有以下一些特点[2]:简单,面向对象,分布式,解释执行,鲁棒,安全,体系结构中立,可移植,高性能,多线程以及动态性。 2.2什么是Jxl Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该 API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、 Servlet来调用API实现对Excel数据表的访问。 Jxl发布的稳定版本是V2.0,提供以下功能: 从Excel 95、97、2000等格式的文件中读取数据[3]; 读取Excel公式(可以读取Excel 97以后的公式)[3];

从SQL Server中导入导出Excel的基本方法

从sql server中导入/导出excel 的基本方法 /*=========== 导入/导出excel 的基本方法===========*/ 从excel文档中,导入数据到sql数据库中,很简单,直接用下面的语句: /*=============================================*/ --假如接受数据导入的表已存在 insert into 表select * from openrowset(microsoft.jet.oledb.4.0 ,excel 5.0;hdr=yes;database=c:test.xls,sheet1$) --假如导入数据并生成表 select * into 表from openrowset(microsoft.jet.oledb.4.0 ,excel 5.0;hdr=yes;database=c:test.xls,sheet1$) /*===========================================*/ --假如从sql数据库中,导出数据到excel,假如excel文档已存在,而且已按照要接收的数据创建好表头,就能够简单的用: insert into openrowset(microsoft.jet.oledb.4.0 ,excel 5.0;hdr=yes;database=c:test.xls,sheet1$) select * from 表 --假如excel文档不存在,也能够用bcp来导成类excel的文档,注意大小写: --导出表的情况 exec master..xp_cmdshell bcp 数据库名.dbo.表名out "c:test.xls" /c -/s"服务器名" /u"用户名" -p"密码" --导出查询的情况 exec master..xp_cmdshell bcp "select au_fname, au_lname from pubs..authors order by au_lname" queryout "c:test.xls" /c -/s"服务器名" /u"用户名" -p"密码" /*--说明: c:test.xls 为导入/导出的excel文档名. sheet1$ 为excel文档的工作表名,一般要加上$才能正常使用. --*/ --上面已说过,用bcp导出的是类excel文档,其实质为文本文档, --要导出真正的excel文档.就用下面的方法

Excel数据导入教程

Excel模板数据导入教程 Excel模板数据导入教程 Excel导入模板中的数据既可以直接在我们提供的模板文件中录入,列标题中有红色“(必填)”文字的列必须要填写,其它列根据实际需求可以不填写,换算比率、销售价格、库存数量、成本价这些数字列如果要导入的话,一定是纯数字格式,必须要填写而且不能包括任何汉字或字母。 库存数量与成本价必须是以基本计量单位核算录入,也就是以最小计量单位核算录入。 如果从管家婆、速达等进销存软件中导出到Excel文件,一定要修改导出的Excel文件格式,否则肯定不能正常识别和导入,修改的要求如下: 1、Excel导入模板文件扩展名必须为xls,如果为其它扩展名,必须双击打开模板文件,然后另存为“Excel97-2003工作簿(*.xls)”格式的文件; 2、窗口左下角的工作薄名称必须为“Sheet1”,管家婆或速达导出来的工作薄名称一般为其它名称,必须要修改为Sheet1,请见以下截图; 3、第一行必须为列名,第二行开始必须为要导入的正式数据,请见以下截图;

附上一张标准的导入模板数据截图 本教程只演示怎么导入在我们提供的Excel导入模板中录入的数据,如果从管家婆或速达等进销存软件导出来的数据,导入方式大同小异,只是列名或列的数量不一致而已; 在导入之前一定要关闭要导入的Excel模板文件,否则因为独占模式导致导入时无法识别模板文件中的数据。 产品资料导入 产品资料模板中包括“产品资料基础信息、销售价格、库存记录”3部分内容,需要将同一个产品资料模板文件分3步分别导入,如果有辅助计量单位的销售价格也需要导入,那么需要分4步分别导入。 在导入的模板中如果包括软件中已存在的产品资料记录,一定要在导入窗口将 下拉框选择,这样就不会将相同的记录重复导入到软件中。 第一步:既可以在软件初次使用向导窗口中点击“产品资料导入”按钮,也可以在“基础数据----产品资料”列表窗口点击“Excel导入”菜单,弹出产品资料导入窗口,先选择要导入的Excel模板文件,然后根据要导入的列,按照以下截图设置要导入的列,在第一步中只能导入产品资料的基础数据,销售价格和库存记录在以下步骤中导入。

NC Excel导入导出参考

NC导入导出参考 数据字典: ID userid char pk null 用户编码usercode char null 用户姓名username char null 用户密码password char null 职位名称postname char null 部门vdeptid char null 公司pk_corp char null ---------------------------------------------------------------------------------------------------------------------- UI界面: ---------------------------------------------------------------------------------------------------------------------- 说明:界面中导入导出按钮自己添加,VO自己搞定,本书仅供参考,如有问题自己解决 导出Excel按钮: UserExcelExport export = new UserExcelExport(); // 界面没有数据或者有数据但是没有选中任何行 if (getBufferData().getCurrentVO() == null) return; JFileChooser jfile = new JFileChooser(); jfile.setDialogType(JFileChooser.SA VE_DIALOG); / / 打开文件 if (jfile.showSaveDialog(new UserBillCardUI()) == vax.swing.JFileChooser.CANCEL_OPTION) return; // 文件名 String file = jfile.getSelectedFile().toString(); //返回单据表体当前被选中的VO,如果没有则返回null getBillCardPanelWrapper().getSelectedBodyVOs(); UserVO[] uvos = (UserVO[]) getBillCardPanelWrapper().getSelectedBodyVOs();// export.export(uvos, file);//进行导出操作

Java数据导入导出Excel

import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List; import jxl.Workbook; import jxl.format.UnderlineStyle; import https://www.360docs.net/doc/f418441521.html,bel; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; import jxl.write.biff.RowsExceededException; import https://www.360docs.net/doc/f418441521.html,ermodel.HSSFCell; import https://www.360docs.net/doc/f418441521.html,ermodel.HSSFCellStyle; import https://www.360docs.net/doc/f418441521.html,ermodel.HSSFRow; import https://www.360docs.net/doc/f418441521.html,ermodel.HSSFSheet; import https://www.360docs.net/doc/f418441521.html,ermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; public class ExcelOpt { /** * 生成一个Excel文件jxl * @param fileName 要生成的Excel文件名 * @jxl.jar 版本:2.6 */ public static void writeExcel(String fileName){ WritableWorkbook wwb = null; try { //首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象 wwb = Workbook.createWorkbook(new File(fileName)); } catch (IOException e) { e.printStackTrace(); } if(wwb!=null){ //创建一个可写入的工作表 //Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置

java实现excel导入导出

Java数据导入Excel package com.bossy.base; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List; import jxl.Workbook; import jxl.format.UnderlineStyle; import https://www.360docs.net/doc/f418441521.html,bel; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; import jxl.write.biff.RowsExceededException; import https://www.360docs.net/doc/f418441521.html,ermodel.HSSFCell; import https://www.360docs.net/doc/f418441521.html,ermodel.HSSFCellStyle; import https://www.360docs.net/doc/f418441521.html,ermodel.HSSFRow; import https://www.360docs.net/doc/f418441521.html,ermodel.HSSFSheet; import https://www.360docs.net/doc/f418441521.html,ermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem;

Excel导入导出

using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.IO; using System.Data.OleDb; using System.Data.SqlClient; using System.Drawing.Printing; using System.Drawing; ///

/// ExportExcel 的摘要说明 /// public class ExportExcel { private int _ReturnStatus; private string _ReturnMessage; /// /// Excel启动之前的时间 /// private DateTime beforeTime; /// /// Excel启动之后的时间 /// private DateTime afterTime; /// ///执行返回状态 /// public int ReturnStatus { get { return _ReturnStatus; } } /// ///执行返回信息 ///

上传下载-excel导入导出

//上传 //jsp

//action //spring mvc 上传文件完整示例 @RequestMapping(value = "/importFileTest") public String importFileTest(@RequestParam(value = "file", required = false) MultipartFile file, HttpServletRequest request, ModelMap model) { System.out.println("开始"); System.out.println(file); String path = request.getSession().getServletContext().getRealPath("upload"); String fileName = file.getOriginalFilename(); System.out.println(path); File targetFile = new File(path, fileName); if(!targetFile.exists()){ targetFile.mkdirs(); } //保存

C# WINFORM Excel 导入导出 类

以下是C# winform sheet导入导出的操作 using System; using System.Data; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; ////// using System.Data.OleDb; using Microsoft.Office.Interop.Excel; using System.Reflection; // For Missing.Value and BindingFlags using System.Runtime.InteropServices; // For COMException ///

///Excel 的摘要说明 /// namespace harry { public class Excel { #region读取Excel文件转换成DataTable /// ///读取Excel文件转换成DataTable /// ///Excel文件路径 /// /// public static System.Data.DataTable Import_Sheet(string excelPath, string sheetName) { return Import_Sql(excelPath, "select * from [" + sheetName + "$]"); } /// ///读取Excel文件转换成DataTable /// ///Excel文件路径 ///Excel内查询语句 /// public static System.Data.DataTable Import_Sql(string excelPath, string sql) { //string 2003 = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;data source=" + filepath; //string 2007 = "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties='Excel 12.0;HDR=YES';data source=" + fPath;//读EXCEL2003/excel2007 OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;HDR=YES;HDR=1;';data source=" + excelPath);

excel导入导出

有事发我信箱agentina2000@https://www.360docs.net/doc/f418441521.html, 我也不是很懂 大家一起讨论讨论吧! 在Visual C++ 中调用Excel 2000 在开发软件时,经常要将数据输出到Excel 2000中,在Excel 2000中对该数据进行进一步地 格式化处理 或进行计算处理。在Visual Basic中处理起来较简单,Excel 2000的VB编程帮助中有较为详 细的介绍。 在Visual C++中如何进行处理了?利用Excel 2000的ActiveX Automate功能,处理起来同VB 中类似。但 要注意以下几点: 对于对象的属性值的读取或赋值,需要用GetProperty()或SetProperty(NewValue)函数,不能象VB中直接 通过属性名称取值或赋值。例如:Worksheet.GetCount(), Worksheet.SetName(“Sheet1” )。 对集合对象中的成员对象的引用,必须使用集合对象的GetItem()函数。例如:Worksheets. GetItem (ColeVariant((long)1))或Worksheets.GetItem(ColeVariant(“Sheet1”))取得第一个工作 表。 在COM接口中,时常用到Variant,BSTR,SafeArray数据类型。V ariant数据类型是一个联合 ,可表示几 乎所有的类型的数据,具体用法见MSDN中的相关介绍,类_variant_t是对V ARIANT数据类型的 封装。在 Excel 2000的VB编程帮助中,如果提到某函数或属性需要一个值,该值的数据类型通常是Va riant,在

经典三种C#导入导出到EXCEL的方法(C#开发人员必备)

C#导入导出EXCEL ------------阿秋笔记add by 2011-3-24 注:本文中的所有案例全部测试通过,请放心使用!三大功能: 1,导入:把EXCEL文件导入到对应的数据库表中 2,导出:(1)把HTML页面直接导出到EXCEL;(2)把DataTable对象导出到EXCEL 环境:VS2005 + SQL SERVER 2005 Language:C# 1,导入 步骤:上传EXCEL文件,保存到服务器某一个文件夹下,然后解析的DataTable中,在分解插入到数据库表中 实现代码: (1)前台,Default.aspx 放入一个上传控件FileUpload + 按钮控件Button 代码: (2)后台Default.asp.cs 代码: -----按钮单击事件btnUpload_Click protected void btnUpload_Click(object sender, EventArgs e) { if (this.FU.PostedFile == null || this.FU.PostedFile.FileName == "") //判断是否选择上载文件 { this.RegisterStartupScript("1","alert('请选择上传的数据文件!');"); return; } string m_ExtName = Path.GetExtension(TrimHtml(Path.GetFileName(this.FU.PostedFile.FileName))).ToLower(); if ((m_ExtName.Replace(".", "") != "xls")) { this.RegisterStartupScript("2","alert('请上传Execl类型文件!');"); return; } string newname = DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss") + m_ExtName; FU.PostedFile.SaveAs(Server.MapPath("~/xx/"+newname)); string fPath = Request.PhysicalApplicationPath + "xx/" + newname; fPath = fPath.Replace("\\", "/"); DataTable dt = ExcelToDS(fPath, "LAWUSER");

java程序控制excel导入导出数据库信息

1 从Excel文件读取数据表 Java Excel API既可以从本地文件系统的一个文件(.xls),也可以从输入流中读取Excel数据表。读取Excel数据表的第一步是创建Workbook(术语:工作薄),下面的代码片段举例说明了应该如何操作:(完整代码见ExcelReading.java) 一旦创建了Workbook,我们就可以通过它来访问Excel Sheet(术语:工作表)。参考下面的代码片段: 我们既可能通过Sheet的名称来访问它,也可以通过下标来访问它。如果通过下标来访问的话,要注意的一点是下标从0开始,就像数组一样。 一旦得到了Sheet,我们就可以通过它来访问Excel Cell(术语:单元格)。参考下面的代码片段:

如果仅仅是取得Cell的值,我们可以方便地通过getContents()方法,它可以将任何类型的Cell值都作为一个字符串返回。示例代码中Cell(0, 0)是文本型,Cell(1, 0)是数字型,Cell(1,1)是日期型,通过getContents(),三种类型的返回值都是字符型。 如果有需要知道Cell内容的确切类型,API也提供了一系列的方法。参考下面的代码片段:

在得到Cell对象后,通过getType()方法可以获得该单元格的类型,然后与API 提供的基本类型相匹配,强制转换成相应的类型,最后调用相应的取值方法getXXX(),就可以得到确定类型的值。API提供了以下基本类型,与Excel的数据格式相对应,如下图所示: 每种类型的具体意义,请参见Java Excel API Document。 当你完成对Excel电子表格数据的处理后,一定要使用close()方法来关闭先前创建的对象,以释放读取数据表的过程中所占用的内存空间,在读取大量数据时显得尤为重要。参考如下代码片段: Java Excel API提供了许多访问Excel数据表的方法,在这里我只简要地介绍几个常用的方法,其它的方法请参考附录中的Java Excel API Document。 Workbook类提供的方法

excel导入导出通用方法

1.package https://www.360docs.net/doc/f418441521.html,mon.utils; 2.import java.io.OutputStream; 3.import java.util.List; 4.import javax.servlet.http.HttpServletResponse; 5.import org.apache.struts2.ServletActionContext; 6.import https://www.360docs.net/doc/f418441521.html,ng.reflect.Field; 7. 8.import jxl.Workbook; 9.import jxl.format.Alignment; 10.import jxl.format.Border; 11.import jxl.format.BorderLineStyle; 12.import jxl.format.VerticalAlignment; 13.import https://www.360docs.net/doc/f418441521.html,bel; 14.import jxl.write.WritableCellFormat; 15.import jxl.write.WritableFont; 16.import jxl.write.WritableSheet; 17.import jxl.write.WritableWorkbook; 18./*** 19. * @author lsf 20. */ 21.public class ExportExcel { 22./************************************************************************** * 23. * @param fileName EXCEL文件名称 24. * @param listTitle EXCEL文件第一行列标题集合 25. * @param listContent EXCEL文件正文数据集合 26. * @return 27. */ 28.public final static String exportExcel(String fileName,String[] Title, Lis t listContent) { 29. String result="系统提示:Excel文件导出成功!"; 30.// 以下开始输出到EXCEL 31.try { 32.//定义输出流,以便打开保存对话框______________________begin 33. HttpServletResponse response=ServletActionContext.getResponse(); 34. OutputStream os = response.getOutputStream();// 取得输出流 35. response.reset();// 清空输出流 36. response.setHeader("Content-disposition", "attachment; filename="+ new St ring(fileName.getBytes("GB2312"),"ISO8859-1")); 37.// 设定输出文件头 38. response.setContentType("application/msexcel");// 定义输出类型 39.//定义输出流,以便打开保存对话框_______________________end 40. 41./** **********创建工作簿************ */

SQL使用存储过程导入和导出Excel

--从Excel文件中,导入数据到SQL数据库中,很简单,直接用下面的语句: /*=================================================================== */ --如果接受数据导入的表已经存在 insert into 表 select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$) --如果导入数据并生成表 select * into 表 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$) /*=================================================================== */ --如果从SQL数据库中,导出数据到Excel,如果Excel文件已经存在,而且已经按照要接收的数据创建好表头,就可以简单的用: insert into OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$) select * from 表 --如果Excel文件不存在,也可以用BCP来导成类Excel的文件,注意大小写: --导出表的情况 EXEC master..xp_cmdshell 'bcp 数据库名.dbo.表名 out "c:\test.xls" /c -/S"服务器名" /U"用户名" -P"密码"' --导出查询的情况 EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout "c:\test.xls" /c -/S"服务器名" /U"用户名" -P"密码"' /*--说明: c:\test.xls 为导入/导出的Excel文件名. sheet1$ 为Excel文件的工作表名,一般要加上$才能正常使用. --*/ --下面是导出真正Excel文件的方法: if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_exporttb]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[p_exporttb] GO

使用PLSQL工具实现Oracle导入导出Excel

使用PL/SQL实现ORACLE导入导出Excel excel格式的数据在和oracle格式的数据在转换的过程中要通过access数据库,本文不用通过转换就能直接把excel格式的数据放到oracle数据库里。 1 oracle导出excel格式 在机子上安装PL/SQL并登陆,点击new-Report Window(文件—报告窗口),在打开的窗口里输入SQL语句,操作如下图: 在打开的窗口里写出你要导出的数据的SQL语句,写好SQL后执行一下你写好的SQL,或是点一下F8。操作如图

在查询出来数据右面有一排按钮。点击Exprot Results..按钮,选择Excel操作如图: 点击后会出现下图,在excel里面打开你刚查询出来的那些数据,如下图: 然后把该EXCEL存在本机上就可以了。

2 Excel数据导入到oracle 打开你要导入的Excel数据。另存为“文本文件(以逗号分隔).txt”文件。打开PL/SQL 并登陆,选择tools-Text Importer(工具—文本导入器),出现如下图界面: 选择open data file 按钮,选择刚存为txt格式的文件,出现如下图界面

然后点击Date to Oracle按钮,出现图下图界面 选择导入到的用户、导入到的表,并把各字段同表里的字段对应,如把该数据导入到一张新表中,点击界面中的creat table按钮,新建表,如下图 所有的字段都对应上后,发现,最下面的import按钮由灰色变亮了,点击Import 按钮,excel里的数据就会部导入到了oracle表里了。 在导入时还可以选择每次提交的数据条数和是否覆盖,操作如图

Excel文件导入与导出

Excel文件的导入与导出 一、POI方式 1、Excel文件导入 private File excelFile; //struts2上传文件方式 FileInputStream fis=new FileInputStream(excelFile); //读取所上传的文件POIFSFileSystem pfs=new POIFSFileSystem(fis); //把上传文件转换为POI文件HSSFWorkbook workbook=new HSSFWorkbook(pfs); //把上传文件的内容写入工作簿HSSFSheet sheet=workbook.getSheetAt(0); //从工作簿中读取数据到工作表中Iterator rows=sheet.rowIterator();//从工作表中读取每一行的数据 while(rows.hasNext()){ //循环读取每行 HSSFRow hRow=(HSSFRow)rows.next(); Iterator cells=hRow.cellIterator();//从每行数据中读取每一列数据 while(cells.hasNext()){//循环读取每列 HSSFCell hCell=(HSSFCell)cells.next(); switch(hCell.getCellType()){//判断每列的数据类型,然后输出数据 case HSSFCell.CELL_TYPE_NUMERIC: System.out.println(hCell.getNumericCellValue()); break; case HSSFCell.CELL_TYPE_STRING: System.out.println(hCell.getStringCellValue()); break; case HSSFCell.CELL_TYPE_BOOLEAN: System.out.println(hCell.getBooleanCellValue()); break; case HSSFCell.CELL_TYPE_FORMULA: System.out.println(hCell.getCellFormula()); break; default: System.out.print("The File is Empty or Error."); break; } } }

java poi实现excel导入导出

所用的是poi jar Java数据导入Excel package com.bossy.base; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List; import jxl.Workbook; import jxl.format.UnderlineStyle; import https://www.360docs.net/doc/f418441521.html,bel; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; import jxl.write.biff.RowsExceededException; import https://www.360docs.net/doc/f418441521.html,ermodel.HSSFCell; import https://www.360docs.net/doc/f418441521.html,ermodel.HSSFCellStyle; import https://www.360docs.net/doc/f418441521.html,ermodel.HSSFRow; import https://www.360docs.net/doc/f418441521.html,ermodel.HSSFSheet;

import https://www.360docs.net/doc/f418441521.html,ermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; public class ExcelOpt { /** * 生成一个Excel文件jxl * @param fileName 要生成的Excel文件名 * @jxl.jar 版本:2.6 */ public static void writeExcel(String fileName){ WritableWorkbook wwb = null; try { //首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象 wwb = Workbook.createWorkbook(new File(fileName)); } catch (IOException e) { e.printStackTrace(); } if(wwb!=null){ //创建一个可写入的工作表 //Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置WritableSheet ws = wwb.createSheet("工作表名称", 0); //下面开始添加单元格 for(int i=0;i<10;i++){ for(int j=0;j<5;j++){ //这里需要注意的是,在Excel中,第一个参数表示列,第二个表示行

相关主题
相关文档
最新文档