- 浏览: 176672 次
- 性别:
- 来自: 西安
文章分类
- 全部博客 (163)
- POI (8)
- Collection容器 (1)
- java.util (2)
- java调用批处理 (1)
- xml (1)
- jfreechart (3)
- SVN (1)
- tomcat中文 (1)
- jquery (6)
- Log4j (1)
- ppt (1)
- js (48)
- ss (1)
- 综合 (1)
- Spring (2)
- 数据库 (6)
- tomcat (1)
- commons-lang包使用 (1)
- AJAX【Jquery】 (3)
- RMI (2)
- OpenLayers (25)
- html (20)
- css (25)
- Google地图 (2)
- java (1)
- Ibatis (1)
- GoogleMaps (1)
- J2EE (2)
- 软件设计 (1)
- 服务器 (1)
- html5 (4)
- cursor (1)
- AngularJs (5)
- 缓存 (1)
- 构建 (2)
- 域名、空间、服务器 (1)
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFHyperlink;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
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.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
public class ExcelUtils {
// excel文件的路径
private String path = "";
/*
* 将表单提到全局域中是为了在最后的测试方法中获取一个excel工作薄中的表单数量<br/>
* 这样就为循环解析每个表单做了准备
*/
private Workbook workbook = null;
public ExcelUtils() {
}
public ExcelUtils(String path) {
this.path = path;
}
/**
* 在磁盘生成一个还有内容的excel,路径为path的属性。
*
* @param sheetName
* 导出的sheet名称
* @param fieldNames
* 列名数组
* @param datas
* 数据组
* @throws IOException
*/
public void makeExcel(String sheetName, String[] fieldNames,
List<String[]> datas) throws IOException {
// 在内存中生成工作薄
// HSSFWorkbook workbook = makeWorkBook(sheetName, fieldNames, datas);
workbook = makeWorkBook(sheetName, fieldNames, datas);
// 截取文件件路径
String filePath = path.substring(0, path.lastIndexOf("\\"));
// 如果路径不存在,创建路径
File file = new File(filePath);
if (!file.exists()) {
file.mkdirs();
}
FileOutputStream fileOut = new FileOutputStream(path);
workbook.write(fileOut);
fileOut.flush();
fileOut.close();
}
/**
* 在输出流中导出excel
*
* @param excelName
* 导出的excel名称 包括扩展名
* @param sheetName
* 导出的sheet名称
* @param fieldName
* 列名数组
* @param data
* 数据组
* @param response
* response
*/
public void makeStreamExcel(String excelName, String sheetName,
String[] fieldName, List<String[]> data,
HttpServletResponse response) {
OutputStream os = null;
try {
response.reset(); // 清空输出流,此方法受限制,response的任何打开的流关闭之后不在reset
os = response.getOutputStream(); // 取得输出流
response.setHeader("Content-disposition", "attachment; filename="
+ new String(excelName.getBytes(), "ISO-8859-1")); // 设定输出文件头
response.setContentType("application/msexcel"); // 定义输出类型
} catch (IOException ex) {// 捕捉异常
System.out.println("流操作错误:" + ex.getMessage());
}
// 在内存中生成工作薄
HSSFWorkbook workbook = makeWorkBook(sheetName, fieldName, data);
try {
os.flush();
workbook.write(os);
} catch (IOException e) {
e.printStackTrace();
System.out.println("Output is closed");
}
}
/**
* 根据条件生成工作薄对象到内存。
*
* @param sheetName
* 工作表对象名称
* @param fieldNames
* 首行列名称
* @param datas
* 数据
* @return HSSFWorkbook
*/
private HSSFWorkbook makeWorkBook(String sheetName, String[] fieldNames,
List<String[]> datas) {
// 产生工作薄对象
HSSFWorkbook workbook = new HSSFWorkbook();
// 产生工作表对象
HSSFSheet sheet = workbook.createSheet();
//设置每列宽度
sheet.setColumnWidth(0, 3500);
sheet.setColumnWidth(1, 5000);
//设置表单名称
workbook.setSheetName(0, sheetName);
// 产生一行
HSSFRow row = sheet.createRow(0);
// 产生单元格
HSSFCell cell = null;
// 写入各字段的名称
for (int i = 0; i < fieldNames.length; i++) {
cell = row.createCell((short) i);
// 设置单元格的内容为字符串
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
// 为了能够在单元格内输入中文,设置字符集为UTF-16
// cell.setEndcoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(fieldNames[i]);
}
// 写入各记录,每条记录对应excel表中一行记录
for (int i = 0; i < datas.size(); i++) {
String[] tmp = datas.get(i);
// 生成一行
row = sheet.createRow(i + 1);
for (int j = 0; j < tmp.length; j++) {
cell = row.createCell((short) j);
// 设置单元格的字符类型为String
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue(new HSSFRichTextString((tmp[j] == null) ? ""
: tmp[j]));
//创建一个超链接
HSSFHyperlink link = new HSSFHyperlink(HSSFHyperlink.LINK_URL);
link.setAddress("http://zhidao.baidu.com");
//给单元格添加样式
HSSFCellStyle cellStyle = workbook.createCellStyle();
Font font = workbook.createFont();
font.setColor(HSSFFont .COLOR_RED);
cellStyle.setFont(font);
if(j == 1){
cell.setHyperlink(link);
cell.setCellStyle(cellStyle);
}
}
}
return workbook;
}
/**
* 修改表单中指定的单元格的内容
* @param sheetOrder
* @param column
* @param row
* @param content
* @throws FileNotFoundException
* @throws IOException
*/
public void write(int sheetOrder ,int column ,int row ,String content) throws FileNotFoundException, IOException{
Workbook workbook = new HSSFWorkbook(new POIFSFileSystem(new FileInputStream(path)));
Sheet sheet = workbook.getSheetAt(sheetOrder);
Row rows = sheet.createRow(row);
Cell cell = rows.createCell(column);
cell.setCellValue(content);
OutputStream fileOut = new FileOutputStream(path);
workbook.write(fileOut);
fileOut.flush();
fileOut.close();
}
/**
* 获取一个工作表最后一条记录的序号
* @param sheetOrder 工作表序号
* @return int
* @throws IOException
*/
public int getSheetLastRowNum(int sheetOrder)throws IOException{
Workbook workbook = new HSSFWorkbook(new POIFSFileSystem(new FileInputStream(path)));
Sheet sheet = workbook.getSheetAt(sheetOrder);
return sheet.getLastRowNum();
}
/**
* 根据path属性在磁盘生成一个新的Excel
* @throws IOException
*/
public void makeEmptyExcel() throws IOException{
Workbook workbook = new HSSFWorkbook();
//创建一个名称为new sheet的表单
workbook.createSheet("new sheet");
//截取文件夹路径
String subPath = path.substring(0, path.lastIndexOf("\\"));
//如果文件不存在创建文件
File file = new File(subPath);
if(file.exists()){
file.mkdirs();
}
OutputStream fileOut = new FileOutputStream(subPath + "\\" + path.substring(path.lastIndexOf("\\")));
workbook.write(fileOut);
fileOut.flush();
fileOut.close();
}
/**
* 根据path属性,给已经存在的excel工作薄中添加工作表单。
* @param sheetName 表单名称
* @throws IOException
*/
public void makeEmptySheetInExistExcel(String sheetName) throws IOException{
workbook = new HSSFWorkbook(new POIFSFileSystem(new FileInputStream(path)));
//在已经存在的工作薄中新建一个空工作表单
Sheet sheet = workbook.createSheet(sheetName);
workbook.setSheetOrder(sheet.getSheetName(), workbook.getNumberOfSheets()-1);
//截取文件夹路径
String subPath = path.substring(0, path.lastIndexOf("\\"));
//如果文件不存在创建文件
File file = new File(subPath);
if(file.exists()){
file.mkdirs();
}
OutputStream fileOut = new FileOutputStream(subPath + "\\" + path.substring(path.lastIndexOf("\\")));
workbook.write(fileOut);
fileOut.flush();
fileOut.close();
}
/**
* 根据工作区的序号,读取该工作区下的所有记录,没一条记录是一个String[]<br/>
* 注意如果单元格中的数据时数字将会被自动转换成字符串<br/>
* 如果单元格中存在除数字、字符串以外的其他类型数据,将会产生错误。
* @param sheetOrder 工作区序号
* @return List<String[]>
* @throws IOException
*/
public List<String[]> getDataFromSheet(int sheetOrder) throws IOException{
Workbook workbook = new HSSFWorkbook(new POIFSFileSystem(new FileInputStream(path)));
Sheet sheet = workbook.getSheetAt(sheetOrder);
List<String[]> strArrays = new ArrayList<String[]>();
//得到的行数是基于0的索引,遍历所有的行
for(int i=0;i<=sheet.getLastRowNum();i++){
Row row = sheet.getRow(i);
String[] strs = new String[row.getLastCellNum()];
for(int k=0;k<row.getLastCellNum();k++){
Cell cell = row.getCell(k);
if(Cell.CELL_TYPE_NUMERIC == cell.getCellType()){
//用于格式化数字,只保留数字的整数部分
DecimalFormat format = new DecimalFormat("########");
strs[k] = format.format(cell.getNumericCellValue());
}else{
strs[k] = cell.getStringCellValue();
}
}
strArrays.add(strs);
}
return strArrays;
}
public static void main(String[] args) throws Exception {
ExcelUtils eu = new ExcelUtils("D:\\aa\\bb\\导入手机号码日志.xls");
//创建Excel
List<String[]> ss = new ArrayList<String[]>();
ss.add(new String[] { "你撒地方", "知道百度" });
ss.add(new String[] { "瓦尔", "zhidao.baidu.com" });
eu.makeExcel("smsLog", new String[] { "色粉", "的是否" }, ss);
//给工作薄中新增指定索引的表单
eu.makeEmptySheetInExistExcel("ee");
eu.makeEmptySheetInExistExcel("ff");
eu.makeEmptySheetInExistExcel("hh");
eu.makeEmptySheetInExistExcel("ii");
for(int i=0;i<eu.workbook.getNumberOfSheets();i++){
System.out.println(eu.workbook.getSheetAt(i).getSheetName());
}
//打印表格中的数据
/* List<String[]> strs = eu.getDataFromSheet(0);
for (String[] str : strs) {
for (String s : str) {
System.out.print(s+"\t\t");
}
System.out.println();
}*/
//给表单中指定的单元格写数据
/*String content = "Hello Worlds";
eu.write(0,2, 3, content);*/
//构造一个空Excel
// eu.makeEmptyExcel();
}
}
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFHyperlink;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
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.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
public class ExcelUtils {
// excel文件的路径
private String path = "";
/*
* 将表单提到全局域中是为了在最后的测试方法中获取一个excel工作薄中的表单数量<br/>
* 这样就为循环解析每个表单做了准备
*/
private Workbook workbook = null;
public ExcelUtils() {
}
public ExcelUtils(String path) {
this.path = path;
}
/**
* 在磁盘生成一个还有内容的excel,路径为path的属性。
*
* @param sheetName
* 导出的sheet名称
* @param fieldNames
* 列名数组
* @param datas
* 数据组
* @throws IOException
*/
public void makeExcel(String sheetName, String[] fieldNames,
List<String[]> datas) throws IOException {
// 在内存中生成工作薄
// HSSFWorkbook workbook = makeWorkBook(sheetName, fieldNames, datas);
workbook = makeWorkBook(sheetName, fieldNames, datas);
// 截取文件件路径
String filePath = path.substring(0, path.lastIndexOf("\\"));
// 如果路径不存在,创建路径
File file = new File(filePath);
if (!file.exists()) {
file.mkdirs();
}
FileOutputStream fileOut = new FileOutputStream(path);
workbook.write(fileOut);
fileOut.flush();
fileOut.close();
}
/**
* 在输出流中导出excel
*
* @param excelName
* 导出的excel名称 包括扩展名
* @param sheetName
* 导出的sheet名称
* @param fieldName
* 列名数组
* @param data
* 数据组
* @param response
* response
*/
public void makeStreamExcel(String excelName, String sheetName,
String[] fieldName, List<String[]> data,
HttpServletResponse response) {
OutputStream os = null;
try {
response.reset(); // 清空输出流,此方法受限制,response的任何打开的流关闭之后不在reset
os = response.getOutputStream(); // 取得输出流
response.setHeader("Content-disposition", "attachment; filename="
+ new String(excelName.getBytes(), "ISO-8859-1")); // 设定输出文件头
response.setContentType("application/msexcel"); // 定义输出类型
} catch (IOException ex) {// 捕捉异常
System.out.println("流操作错误:" + ex.getMessage());
}
// 在内存中生成工作薄
HSSFWorkbook workbook = makeWorkBook(sheetName, fieldName, data);
try {
os.flush();
workbook.write(os);
} catch (IOException e) {
e.printStackTrace();
System.out.println("Output is closed");
}
}
/**
* 根据条件生成工作薄对象到内存。
*
* @param sheetName
* 工作表对象名称
* @param fieldNames
* 首行列名称
* @param datas
* 数据
* @return HSSFWorkbook
*/
private HSSFWorkbook makeWorkBook(String sheetName, String[] fieldNames,
List<String[]> datas) {
// 产生工作薄对象
HSSFWorkbook workbook = new HSSFWorkbook();
// 产生工作表对象
HSSFSheet sheet = workbook.createSheet();
//设置每列宽度
sheet.setColumnWidth(0, 3500);
sheet.setColumnWidth(1, 5000);
//设置表单名称
workbook.setSheetName(0, sheetName);
// 产生一行
HSSFRow row = sheet.createRow(0);
// 产生单元格
HSSFCell cell = null;
// 写入各字段的名称
for (int i = 0; i < fieldNames.length; i++) {
cell = row.createCell((short) i);
// 设置单元格的内容为字符串
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
// 为了能够在单元格内输入中文,设置字符集为UTF-16
// cell.setEndcoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(fieldNames[i]);
}
// 写入各记录,每条记录对应excel表中一行记录
for (int i = 0; i < datas.size(); i++) {
String[] tmp = datas.get(i);
// 生成一行
row = sheet.createRow(i + 1);
for (int j = 0; j < tmp.length; j++) {
cell = row.createCell((short) j);
// 设置单元格的字符类型为String
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue(new HSSFRichTextString((tmp[j] == null) ? ""
: tmp[j]));
//创建一个超链接
HSSFHyperlink link = new HSSFHyperlink(HSSFHyperlink.LINK_URL);
link.setAddress("http://zhidao.baidu.com");
//给单元格添加样式
HSSFCellStyle cellStyle = workbook.createCellStyle();
Font font = workbook.createFont();
font.setColor(HSSFFont .COLOR_RED);
cellStyle.setFont(font);
if(j == 1){
cell.setHyperlink(link);
cell.setCellStyle(cellStyle);
}
}
}
return workbook;
}
/**
* 修改表单中指定的单元格的内容
* @param sheetOrder
* @param column
* @param row
* @param content
* @throws FileNotFoundException
* @throws IOException
*/
public void write(int sheetOrder ,int column ,int row ,String content) throws FileNotFoundException, IOException{
Workbook workbook = new HSSFWorkbook(new POIFSFileSystem(new FileInputStream(path)));
Sheet sheet = workbook.getSheetAt(sheetOrder);
Row rows = sheet.createRow(row);
Cell cell = rows.createCell(column);
cell.setCellValue(content);
OutputStream fileOut = new FileOutputStream(path);
workbook.write(fileOut);
fileOut.flush();
fileOut.close();
}
/**
* 获取一个工作表最后一条记录的序号
* @param sheetOrder 工作表序号
* @return int
* @throws IOException
*/
public int getSheetLastRowNum(int sheetOrder)throws IOException{
Workbook workbook = new HSSFWorkbook(new POIFSFileSystem(new FileInputStream(path)));
Sheet sheet = workbook.getSheetAt(sheetOrder);
return sheet.getLastRowNum();
}
/**
* 根据path属性在磁盘生成一个新的Excel
* @throws IOException
*/
public void makeEmptyExcel() throws IOException{
Workbook workbook = new HSSFWorkbook();
//创建一个名称为new sheet的表单
workbook.createSheet("new sheet");
//截取文件夹路径
String subPath = path.substring(0, path.lastIndexOf("\\"));
//如果文件不存在创建文件
File file = new File(subPath);
if(file.exists()){
file.mkdirs();
}
OutputStream fileOut = new FileOutputStream(subPath + "\\" + path.substring(path.lastIndexOf("\\")));
workbook.write(fileOut);
fileOut.flush();
fileOut.close();
}
/**
* 根据path属性,给已经存在的excel工作薄中添加工作表单。
* @param sheetName 表单名称
* @throws IOException
*/
public void makeEmptySheetInExistExcel(String sheetName) throws IOException{
workbook = new HSSFWorkbook(new POIFSFileSystem(new FileInputStream(path)));
//在已经存在的工作薄中新建一个空工作表单
Sheet sheet = workbook.createSheet(sheetName);
workbook.setSheetOrder(sheet.getSheetName(), workbook.getNumberOfSheets()-1);
//截取文件夹路径
String subPath = path.substring(0, path.lastIndexOf("\\"));
//如果文件不存在创建文件
File file = new File(subPath);
if(file.exists()){
file.mkdirs();
}
OutputStream fileOut = new FileOutputStream(subPath + "\\" + path.substring(path.lastIndexOf("\\")));
workbook.write(fileOut);
fileOut.flush();
fileOut.close();
}
/**
* 根据工作区的序号,读取该工作区下的所有记录,没一条记录是一个String[]<br/>
* 注意如果单元格中的数据时数字将会被自动转换成字符串<br/>
* 如果单元格中存在除数字、字符串以外的其他类型数据,将会产生错误。
* @param sheetOrder 工作区序号
* @return List<String[]>
* @throws IOException
*/
public List<String[]> getDataFromSheet(int sheetOrder) throws IOException{
Workbook workbook = new HSSFWorkbook(new POIFSFileSystem(new FileInputStream(path)));
Sheet sheet = workbook.getSheetAt(sheetOrder);
List<String[]> strArrays = new ArrayList<String[]>();
//得到的行数是基于0的索引,遍历所有的行
for(int i=0;i<=sheet.getLastRowNum();i++){
Row row = sheet.getRow(i);
String[] strs = new String[row.getLastCellNum()];
for(int k=0;k<row.getLastCellNum();k++){
Cell cell = row.getCell(k);
if(Cell.CELL_TYPE_NUMERIC == cell.getCellType()){
//用于格式化数字,只保留数字的整数部分
DecimalFormat format = new DecimalFormat("########");
strs[k] = format.format(cell.getNumericCellValue());
}else{
strs[k] = cell.getStringCellValue();
}
}
strArrays.add(strs);
}
return strArrays;
}
public static void main(String[] args) throws Exception {
ExcelUtils eu = new ExcelUtils("D:\\aa\\bb\\导入手机号码日志.xls");
//创建Excel
List<String[]> ss = new ArrayList<String[]>();
ss.add(new String[] { "你撒地方", "知道百度" });
ss.add(new String[] { "瓦尔", "zhidao.baidu.com" });
eu.makeExcel("smsLog", new String[] { "色粉", "的是否" }, ss);
//给工作薄中新增指定索引的表单
eu.makeEmptySheetInExistExcel("ee");
eu.makeEmptySheetInExistExcel("ff");
eu.makeEmptySheetInExistExcel("hh");
eu.makeEmptySheetInExistExcel("ii");
for(int i=0;i<eu.workbook.getNumberOfSheets();i++){
System.out.println(eu.workbook.getSheetAt(i).getSheetName());
}
//打印表格中的数据
/* List<String[]> strs = eu.getDataFromSheet(0);
for (String[] str : strs) {
for (String s : str) {
System.out.print(s+"\t\t");
}
System.out.println();
}*/
//给表单中指定的单元格写数据
/*String content = "Hello Worlds";
eu.write(0,2, 3, content);*/
//构造一个空Excel
// eu.makeEmptyExcel();
}
}
发表评论
-
poi需要jar包
2012-08-10 06:50 2473dom4j-1.6.1.jar poi-3.7-2010102 ... -
SummaryHSSF
2012-08-08 00:05 712public class SummaryHSSF { ... -
POICreate
2012-08-08 00:06 572import java.io.FileNotFoundExce ... -
ExcelTemplateImpl
2012-08-07 12:16 779import java.util.Date; import j ... -
ReadXSSF
2012-08-07 12:14 832import java.io.IOException; im ... -
ReadExcel
2012-08-07 12:13 1271import java.io.File; import jav ... -
MergedRegionValue
2012-08-07 10:49 943import org.apache.poi.ss.usermo ...
相关推荐
ExcelUtils工具类是一个在Java开发中广泛使用的库,它的主要功能是帮助开发者便捷地按照预设模板导出Excel文件。这种工具极大地简化了处理Excel数据的复杂性,使得程序员能够快速实现数据的导出功能,而无需深入了解...
在Java编程中,`util_ExcelUtils`工具类是一个用于操作Excel文件的实用程序类,它可以帮助开发者方便地读取Excel文件中的数据以及生成新的Excel文件。Excel文件通常被广泛用于数据存储、报告生成和数据分析等领域,...
ExcelUtils是一个针对Excel文件操作的工具类库,它使得Java开发者能够方便地对Excel进行读取和写入操作。这个名为"ExcelUtils.rar"的压缩包文件包含了实现这一功能的源代码。 在Java中,处理Excel文件主要依赖于...
ExcelUtils是一个非常实用的工具库,它简化了Java开发者在处理Excel文件时的工作流程,显著提高了开发效率。原版的ExcelUtils依赖于Apache POI 2.5.1版本,这是一个开源的Java库,用于读写Microsoft Office格式的...
ExcelUtils is a helper to export excel report in java web project. It's like velocity, has own tags, but these tags is written in excel file. By these tags, you can custom your excel report format ...
ExcelUtils 是一个在WEB应用开发中的EXCEL导出工具;;用EXCELUTILS导出excel所需的JAR包:excelutils.jar poi-2.5.1.jar commons-logging.jar commons-digester.jar commons-beanutils.jar,加外可能还需加添加osh....
ExcelUtils.java
"excelUtils公共导出支持xls与xlsx"这个标题表明我们讨论的是一个Java库或工具,它允许开发者方便地处理Excel文件,包括两种主要的文件格式:xls(Excel 97-2003工作簿)和xlsx(Excel 2007及以上版本的Open XML格式...
现有的ExcelUtils配合高版本POI使用会有兼容性问题,特此对源码做了一些修改,使其能应用到新版本的POI中,jar包中包含修改后的源代码 注:去掉了ExcelUtils原版中的webwork包,如有需要请自行加入
excelutils response 返回
"poi ExcelUtils demo下载" 这个标题表明我们关注的是一个与Apache POI相关的工具,名为ExcelUtils。Apache POI是Java库,用于读写Microsoft Office格式的文件,特别是Excel(.xlsx 和 .xls)文件。ExcelUtils则可能...
poi3.7.jar操作excel可上传图片,但官网的jar包下载后,不能与excelutils-1.41.jar导出汇总表并用,总报错。后经改双方源码,现可以实现根据模板生成数据,并根据模板导出汇总表之类的。
ExcelUtils代表着一类的报表生成工具,他使用报表本身作为模板。对于它,只能处理Excel文件,它以Excel文件为模板,在其上加以自己的定义语言,简单通俗! 官方主页:...
用于数据库数据导出到Excel表的java工具类,适合多种格式