poi读取excel模板,填充内容并导出,支持导出2007支持公式自动计算

/**
 * 版权所有(C) 2016
 * @author www.xiongge.club
 * @date 2016-12-7 上午10:03:29
 */
package xlsx;

/**
 * @ClassName: CreateExcel
 * @Description: TODO()
 * @author www.xiongge.club
 * @date 2016-12-7 上午10:03:29
 *
 */

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;


import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;


/**
* @author Gerrard
* @Discreption 根据已有的Excel模板,修改模板内容生成新Excel
*/
public class CreateExcel {


/**
*
*(2003 xls后缀 导出)
* @param TODO
* @return void 返回类型
* @author xsw
* @2016-12-7上午10:44:00
*/
public static void createXLS() throws IOException{
//excel模板路径
File fi=new File("D:\\offer_template.xls");
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(fi));
//读取excel模板
HSSFWorkbook wb = new HSSFWorkbook(fs);
//读取了模板内所有sheet内容
HSSFSheet sheet = wb.getSheetAt(0);

//如果这行没有了,整个公式都不会有自动计算的效果的
sheet.setForceFormulaRecalculation(true);

//在相应的单元格进行赋值
HSSFCell cell = sheet.getRow(11).getCell(6);//第11行 第6列
cell.setCellValue(1);
HSSFCell cell2 = sheet.getRow(11).getCell(7);
cell2.setCellValue(2);
sheet.getRow(12).getCell(6).setCellValue(12);
sheet.getRow(12).getCell(7).setCellValue(12);
//修改模板内容导出新模板
FileOutputStream out = new FileOutputStream("D:/export.xls");
wb.write(out);
out.close();
}
/**
*
*(2007 xlsx后缀 导出)
* @param TODO
* @return void 返回类型
* @author xsw
* @2016-12-7上午10:44:30
*/
public static void createXLSX() throws IOException{
//excel模板路径
File fi=new File("D:\\offer_template.xlsx");
InputStream in = new FileInputStream(fi);
//读取excel模板
XSSFWorkbook wb = new XSSFWorkbook(in);
//读取了模板内所有sheet内容
XSSFSheet sheet = wb.getSheetAt(0);

//如果这行没有了,整个公式都不会有自动计算的效果的
sheet.setForceFormulaRecalculation(true);

//在相应的单元格进行赋值
XSSFCell cell = sheet.getRow(11).getCell(6);//第11行 第6列
cell.setCellValue(1);
XSSFCell cell2 = sheet.getRow(11).getCell(7);
cell2.setCellValue(2);
sheet.getRow(12).getCell(6).setCellValue(12);
sheet.getRow(12).getCell(7).setCellValue(12);
//修改模板内容导出新模板
FileOutputStream out = new FileOutputStream("D:/export.xlsx");
wb.write(out);
out.close();
}
public static void main(String[] args) throws IOException {
//excle 2003
createXLS();
//excle 2007
createXLSX();
}
}

 
时间: 2024-09-18 16:57:42

poi读取excel模板,填充内容并导出,支持导出2007支持公式自动计算的相关文章

asp.net使用npoi读取excel模板并导出下载详解

 这篇文章主要介绍了asp.net使用npoi读取excel模板并导出下载的示例,大家参考使用吧 为什么要使用NPOI导出Excel?   一.解决传统操作Excel遇到的问题:   如果是.NET,需要在服务器端装Office,且及时更新它,以防漏洞,还需要设定权限允许.NET访问COM+,如果在导出过程中出问题可能导致服务器宕机. Excel会把只包含数字的列进行类型转换,本来是文本型的,Excel会将其转成数值型的,比如编号000123会变成123. 导出时,如果字段内容以"-"

java使用poi读取ppt文件和poi读取excel、word示例_java

Apache的POI项目可以用来处理MS Office文档,codeplex上还有一个它的.net版本.POI项目可创建和维护操作各种基于OOXML和OLE2文件格式的Java API.大多数MS Office都是OLE2格式的.POI通HSMF子项目来支持Outlook,通过HDGF子项目来支持Visio,通过HPBF子项目来支持Publisher. 使用POI抽取Word简单示例: 要引入poi-3.7.jat和poi-scratchpad-3.7.ajr这两个包. 复制代码 代码如下: p

javaweb-关于poi读取Excel时转换单元格格式问题。

问题描述 关于poi读取Excel时转换单元格格式问题. poi读取Excel文档的时候,有哪个方法可以把读出那格数据 的同时 转换成我想要的单元格格式? 解决方案 可以读取那一格数据,然后转换,再写回文件 解决方案二: 这个网上应该有你想要的答案,通过读取到那个cell时,判断cell.getCellType(),cell的格式,得到cell的值,然后存起来,导出的时候 你是能够控制生成的excel 的cell的格式的.

java-Java POI 读取Excel疑问

问题描述 Java POI 读取Excel疑问 Hi, java poi 操作excel,现在要把图片中圈红色的内容(PhoenixTea)读取出来,请问怎么操作呢? 看了好久没有看到有相关方法读取的? 谢谢!!! 解决方案 Apache POI :http://poi.apache.org/http://poi.apache.org/download.html 解析xls格式的包: poi-3.9-20121203.jar 解析xlsx格式的包: poi-3.9-20121203.jar po

java poi读取excel操作示例(2个代码)_java

项目中要求读取excel文件内容,并将其转化为xml格式.常见读取excel文档一般使用POI和JExcelAPI这两个工具.这里我们介绍使用POI实现读取excel文档. 复制代码 代码如下: /* * 使用POI读取EXCEL文件 */import java.io.File;import java.io.FileInputStream;import java.util.ArrayList; import org.apache.poi.hssf.usermodel.HSSFCell;impor

POI 读取EXCEL实现程序

 代码如下 复制代码   /*   * 使用POI读取EXCEL文件   */  import java.io.File;  import java.io.FileInputStream;  import java.util.ArrayList;    import org.apache.poi.hssf.usermodel.HSSFCell;  import org.apache.poi.hssf.usermodel.HSSFRow;  import org.apache.poi.hssf.u

使用Apache POI读取Excel文件

Apache POI是Apache软件基金会的开放源码函式库,用来帮助Java程序读写Microsoft Office的格式档案.POI提供了下面这几种类型对Microsoft Office的格式档案进行解析: HSSF - 提供读写Microsoft Excel XLS格式档案的功能. XSSF - 提供读写Microsoft Excel OOXML XLSX格式档案的功能. HWPF - 提供读写Microsoft Word DOC格式档案的功能. HSLF - 提供读写Microsoft

导入-在poi读取excel的合并数据时,怎么判断合并了多少行以及怎么取值

问题描述 在poi读取excel的合并数据时,怎么判断合并了多少行以及怎么取值 类似于上面的导入格式怎么读数据 解决方案 参考这个EXCEL中如何用VBA判断某一地址单元格是否为合并单元格然后把vba转成你自己的语言http://wenku.baidu.com/link?url=nsc0K4oKljjsvfVayJIXT9q2oNcWMwgjRghQdCqOPPJaH_Zm0UNgwqRKRdmC5PypqxvKwIDBgRV7i8W9sxiR0_KhBR78e6b6vTenaoVEE-7

技术-poi 读取excel数据问题

问题描述 poi 读取excel数据问题 我想把这用 java poi 技术读出来 请问怎么实现...没思绪..求大神解答- - 解决方案 就是读取exel表格呀http://www.cnblogs.com/xwdreamer/archive/2012/02/22/2363152.html 解决方案二: 参考:http://www.cnblogs.com/xwdreamer/archive/2012/02/22/2363152.htmlhttp://blog.csdn.net/jack0511/