`
- 浏览:
77486 次
- 性别:
- 来自:
上海
-
1.导出无表头excel 文件单个工作表(sheet),【fileName是标题名,titleList是列名,list就是列的内容了】
-
-
-
-
-
-
-
-
-
publicstaticvoidexportNoHeadExcel(StringfileName,String[]titleList,
-
Listlist,HttpServletResponseresponse){
-
SimpleDateFormatdf=newjava.text.SimpleDateFormat("yyyyMMdd");
-
StringtodayStr=df.format(newDate());
-
OutputStreamos=null;
-
try{
-
os=response.getOutputStream();
-
StringlocalFileName=fileName;
-
fileName=java.net.URLEncoder.encode(fileName,"UTF-8");
-
fileName=newString(fileName.getBytes("UTF-8"),"GBK");
-
response.setContentType("application/vnd.ms-excel;");
-
response.setHeader("Content-disposition","attachment;filename=\""
-
+fileName+"_"+todayStr+".xls\"");
-
-
-
jxl.write.WritableFontwfc1=newjxl.write.WritableFont(
-
WritableFont.COURIER,10,WritableFont.NO_BOLD,true);
-
jxl.write.WritableCellFormatwcfFC1=newjxl.write.WritableCellFormat(
-
wfc1);
-
wcfFC1.setAlignment(jxl.format.Alignment.CENTRE);
-
wcfFC1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
-
-
jxl.write.WritableCellFormatwcfFC2=newjxl.write.WritableCellFormat();
-
wcfFC2.setAlignment(jxl.format.Alignment.CENTRE);
-
wcfFC2.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
-
WritableWorkbookwbook=Workbook.createWorkbook(os);
-
-
WritableSheetwsheet=wbook.createSheet(localFileName,0);
-
for(intm=0;m<titleList.length;m++){
-
wsheet.setColumnView(m,30);
-
}
-
-
for(intn=0;n<titleList.length;n++){
-
wsheet.addCell(newjxl.write.Label(n,0,titleList[n],wcfFC1));
-
}
-
-
introw=0;
-
for(intr=0;r<list.size();r++){
-
Object[]obj=(Object[])list.get(r);
-
for(intx=0;x<titleList.length;x++){
-
wsheet.addCell(newjxl.write.Label(x,row+1,
-
obj[x]==null?"":obj[x].toString(),wcfFC1));
-
}
-
row++;
-
if(row%60000==0){
-
row=0;
-
-
wsheet=wbook.createSheet(localFileName,0);
-
for(intm=0;m<titleList.length;m++){
-
wsheet.setColumnView(m,30);
-
}
-
-
for(intn=0;n<titleList.length;n++){
-
wsheet.addCell(newjxl.write.Label(n,0,titleList[n],
-
wcfFC1));
-
}
-
}
-
}
-
wbook.write();
-
wbook.close();
-
os.flush();
-
}catch(Exceptione){
-
e.printStackTrace();
-
}finally{
-
if(os==null){
-
Log.info("osisnull");
-
}else{
-
try{
-
os.close();
-
os=null;
-
}catch(IOExceptione){
-
e.printStackTrace();
-
}
-
}
-
}
-
}
-
2.首先导出无表头excel 文件带多个工作表(sheet),【sheetList存放的就是Map包含fileName是标题名,titleList是列名,list就是列的内容】
-
-
-
-
-
-
-
-
-
publicstaticvoidexportNoHeadExcel(List<Map<String,Object>>sheetList,HttpServletResponseresponse){
-
SimpleDateFormatdf=newjava.text.SimpleDateFormat("yyyyMMdd");
-
StringtodayStr=df.format(newDate());
-
OutputStreamos=null;
-
try{
-
os=response.getOutputStream();
-
WritableWorkbookwbook=Workbook.createWorkbook(os);
-
for(inti=0;i<sheetList.size();i++){
-
Map<String,Object>map=sheetList.get(i);
-
StringfileName=(String)map.get("fileName");
-
String[]titleList=(String[])map.get("titleList");
-
Listlist=(List)map.get("list");
-
StringlocalFileName=fileName;
-
fileName=java.net.URLEncoder.encode(fileName,"UTF-8");
-
fileName=newString(fileName.getBytes("UTF-8"),"GBK");
-
response.setContentType("application/vnd.ms-excel;");
-
response.setHeader("Content-disposition","attachment;filename=\""
-
+fileName+"_"+todayStr+".xls\"");
-
-
-
jxl.write.WritableFontwfc1=newjxl.write.WritableFont(
-
WritableFont.COURIER,10,WritableFont.NO_BOLD,true);
-
jxl.write.WritableCellFormatwcfFC1=newjxl.write.WritableCellFormat(
-
wfc1);
-
wcfFC1.setAlignment(jxl.format.Alignment.CENTRE);
-
wcfFC1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
-
-
jxl.write.WritableCellFormatwcfFC2=newjxl.write.WritableCellFormat();
-
wcfFC2.setAlignment(jxl.format.Alignment.CENTRE);
-
wcfFC2.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
-
-
WritableSheetwsheet=wbook.createSheet(localFileName,i);
-
for(intm=0;m<titleList.length;m++){
-
wsheet.setColumnView(m,30);
-
}
-
-
for(intn=0;n<titleList.length;n++){
-
wsheet.addCell(newjxl.write.Label(n,0,titleList[n],wcfFC1));
-
}
-
-
introw=0;
-
for(intr=0;r<list.size();r++){
-
Object[]obj=(Object[])list.get(r);
-
for(intx=0;x<titleList.length;x++){
-
wsheet.addCell(newjxl.write.Label(x,row+1,
-
obj[x]==null?"":obj[x].toString(),wcfFC1));
-
}
-
row++;
-
if(row%60000==0){
-
row=0;
-
-
wsheet=wbook.createSheet(localFileName,0);
-
for(intm=0;m<titleList.length;m++){
-
wsheet.setColumnView(m,30);
-
}
-
-
for(intn=0;n<titleList.length;n++){
-
wsheet.addCell(newjxl.write.Label(n,0,titleList[n],
-
wcfFC1));
-
}
-
}
-
}
-
}
-
wbook.write();
-
wbook.close();
-
os.flush();
-
}catch(Exceptione){
-
e.printStackTrace();
-
}finally{
-
if(os==null){
-
Log.info("osisnull");
-
}else{
-
try{
-
os.close();
-
os=null;
-
}catch(IOExceptione){
-
e.printStackTrace();
-
}
-
}
-
}
-
}
3.导出excel文件带标题【fileName是标题名,titleList是列名,list就是列的内容了】
-
-
-
-
-
-
-
-
-
publicstaticvoidexportWithHeadExcel(StringfileName,String[]titleList,
-
Listlist,HttpServletResponseresponse){
-
Datenow=newDate();
-
SimpleDateFormatdateformat=newjava.text.SimpleDateFormat(
-
"yyyy年MM月dd日HH时mm分");
-
SimpleDateFormatdf=newjava.text.SimpleDateFormat("yyyyMMdd");
-
StringtodayStr=df.format(newDate());
-
Stringtoday=dateformat.format(now);
-
OutputStreamos=null;
-
try{
-
os=response.getOutputStream();
-
StringlocalFileName=fileName;
-
fileName=java.net.URLEncoder.encode(fileName,"UTF-8");
-
fileName=newString(fileName.getBytes("UTF-8"),"GBK");
-
response.setContentType("application/vnd.ms-excel;");
-
response.setHeader("Content-disposition","attachment;filename=\""
-
+fileName+"_"+todayStr+".xls\"");
-
-
-
-
jxl.write.WritableFontwfc=newjxl.write.WritableFont(
-
WritableFont.COURIER,18,WritableFont.NO_BOLD,false);
-
jxl.write.WritableCellFormatwcfFC=newjxl.write.WritableCellFormat(
-
wfc);
-
wcfFC.setAlignment(jxl.format.Alignment.CENTRE);
-
wcfFC.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
-
-
jxl.write.WritableFontwfc1=newjxl.write.WritableFont(
-
WritableFont.COURIER,10,WritableFont.NO_BOLD,false);
-
jxl.write.WritableCellFormatwcfFC1=newjxl.write.WritableCellFormat(
-
wfc1);
-
wcfFC1.setAlignment(jxl.format.Alignment.CENTRE);
-
wcfFC1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
-
-
jxl.write.WritableCellFormatwcfFC2=newjxl.write.WritableCellFormat();
-
wcfFC2.setAlignment(jxl.format.Alignment.CENTRE);
-
wcfFC2.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
-
WritableWorkbookwbook=Workbook.createWorkbook(os);
-
-
WritableSheetwsheet=wbook.createSheet(localFileName,0);
-
inti=3;
-
for(intm=0;m<titleList.length;m++){
-
wsheet.setColumnView(m,30);
-
}
-
-
for(intn=0;n<titleList.length;n++){
-
wsheet.addCell(newjxl.write.Label(n,3,titleList[n],wcfFC1));
-
}
-
-
wsheet.mergeCells(0,0,i-1,0);
-
wsheet.addCell(newLabel(0,0,localFileName,wcfFC));
-
-
wsheet.addCell(newLabel(i-2,1,"打印日期:"));
-
wsheet.addCell(newLabel(i-1,1,today));
-
-
introw=0;
-
for(intr=0;r<list.size();r++){
-
Object[]obj=(Object[])list.get(r);
-
for(intx=0;x<titleList.length;x++){
-
wsheet.addCell(newjxl.write.Label(x,row+4,
-
obj[x]==null?"":obj[x].toString(),wcfFC1));
-
}
-
row++;
-
if(row%60000==0){
-
row=0;
-
-
wsheet=wbook.createSheet(localFileName,0);
-
i=3;
-
for(intm=0;m<titleList.length;m++){
-
wsheet.setColumnView(m,30);
-
}
-
-
for(intn=0;n<titleList.length;n++){
-
wsheet.addCell(newjxl.write.Label(n,3,titleList[n],
-
wcfFC1));
-
}
-
-
wsheet.mergeCells(0,0,i-1,0);
-
wsheet.addCell(newLabel(0,0,localFileName,wcfFC));
-
-
wsheet.addCell(newLabel(i-2,1,"打印日期:"));
-
wsheet.addCell(newLabel(i-1,1,today));
-
}
-
}
-
wbook.write();
-
wbook.close();
-
os.flush();
-
}catch(Exceptione){
-
e.printStackTrace();
-
}finally{
-
if(os==null){
-
Log.info("osisnull");
-
}else{
-
try{
-
os.close();
-
os=null;
-
}catch(IOExceptione){
-
e.printStackTrace();
-
}
-
}
-
}
-
}
目前大概整理了这3个,以后用到还会整理更新,今天就先到在这里吧..待续...
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在EasyUIPoI中,导出Excel的过程被封装成了一套简单的API。首先,你需要创建一个模板文件,定义好Excel的结构和样式,例如单元格的合并、字体、颜色等。模板文件可以使用Microsoft Excel来创建,保存为`.xlsx`格式,...
本篇文章将深入探讨如何使用Apache POI创建一个Java工具类来实现高效且灵活的Excel导出功能。 首先,我们需要了解Apache POI的基本用法。Apache POI提供了两种主要的API用于处理Excel文件:HSSF(用于旧版的.xls...
标题“poi分多个sheet导出excel”所指的就是如何使用POI库来动态地生成多个sheet,并根据设定的阈值(如50000条记录)进行切换。 首先,要使用Apache POI,你需要在项目中引入对应的依赖。如果你使用的是Maven,...
在Java编程领域,工具类(Util Class)是一种封装了常用功能的方法集合,它们不包含任何状态,通常是静态方法,提供给开发者便捷的调用。在给定的"条件导出Excel 工具类.zip"中,我们可以推断这是一个用于处理Excel...
8. **读写操作**:除了导入数据,工具类也可能提供导出功能,将已填充的数据保存为新的Excel文件。 在实际使用时,用户可能需要阅读`README.md`文件,该文件通常会提供详细的使用指南,包括如何添加依赖、如何初始...
例如,我们可以创建一个方法用于导出Excel: ```java import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; import ...
Jxls提供了一个`JxlsHelper`工具类,它包含了一些静态方法来帮助我们完成这个任务。以下是一个简单的示例: ```java import org.jxls.common.Context; import org.jxls.util.JxlsHelper; import java.io....
### POI导出EXCEL经典实现 #### 一、引言 在Web开发过程中,数据的导入导出是一项常见的需求,特别是在生产管理和财务系统中,这类功能被广泛应用于报表生成和数据分析。通常,数据导出的目标格式有Excel或PDF等。...
对于J2EE项目导入导出Excel是最普通和实用功能, 本工具类使用步骤简单,功能强大,只需要对实体类进行简单的注解就能实现导入导出功能,导入导出操作的都是实体对象. 看看这个类都有哪些功能吧: * 1.实体属性配置了...
本篇文章将深入探讨如何使用 `jxls2` 库来导出Excel文件,同时参考《使用 jxls2.X 导出excel文件源码》这篇博客文章中的案例进行讲解。 首先,我们需要理解 `jxls2` 的核心概念:模板和转换器。模板是预先设计好的...
`Util`类通常是工具类,包含了一些通用方法;而`Bo`(Business Object)类则可能封装了业务逻辑。 8. **性能优化**: - 当处理大量数据时,要考虑内存管理和性能优化。例如,可以分批写入数据,或者使用 streaming...
4. 导出Excel:将工作簿写入OutputStream,可用于网络传输或保存到本地。 5. 批量读取数据:从Excel文件中读取数据,返回List或其他集合结构,方便进一步处理。 四、示例代码 下面是一个简单的POI Excel导出工具类...
例如,要从Excel导入数据,只需调用工具类的相应方法,传入文件路径、行和列信息,就可以得到整理好的数据结构。对于Java对象的导入,通常需要提供一个对应的Java类,该类的属性与Excel中的列对应,通过反射技术实现...
在本文中,我们将深入探讨如何在SpringBoot项目中利用Maven和Java工具类实现Excel的导入与导出功能,特别是通过自定义注解和反射来获取数据。SpringBoot以其便捷的配置和强大的功能,已经成为Java开发中的热门框架,...
【sword-excel:用于 poi 的 java excel util】是一款基于Apache POI库的Java工具,专门设计用来简化在Java环境中操作Excel文件的任务。Apache POI是一个流行的开源项目,它提供了读写Microsoft Office格式文件的能力...
在`ZipUtil.txt`和`ZipUtilTest.txt`文件中,可能分别存储了压缩和解压缩的工具类以及对应的测试代码。通常,`ZipUtil`类会包含上述的压缩逻辑,而`ZipUtilTest`类则使用JUnit或其他测试框架进行单元测试,确保压缩...
`ExcelUtils.java`可能是另一个辅助工具类,它可能包含了各种实用函数,比如设置单元格样式、合并单元格、调整列宽等,以提高导出Excel的美观性和易读性。例如,`formatCell(Cell cell, Object value)`方法可以用来...
创建Excel文档的工具类 ```java public class ExcelExportUtil { // ... } ``` 在这个类中,定义了创建Excel文档的方法。 ##### 3. 设置参数 ```java String templateFilePath = "E:\\xlk_work\\temp\\模板....
在Java开发中,Apache POI库是一个非常实用的工具,它允许我们操作Microsoft Office格式的文件,特别是Excel工作簿。本篇文章将详细讲解如何利用Apache POI库来实现数据的导出功能,创建一个能够接收数据List集合并...