/**
* 导出EXCEL
* 班级,组织,部门,异常数据导出
* @param savepath
* @param request
* @param response
* @param type
* @throws IOException
* @throws WriteException
*/
@RequestMapping("/tpinfoToDocument.do")
public void viewExcel(HttpServletRequest request, HttpServletResponse response) throws IOException, WriteException{
String savepath=request.getParameter("savepath");
Long type=super.toLong(request, "type");
Long sid=super.getSid(request);
if (sid==null){
this.outtime(request);
}
String pHeader = null;
if (type==1){
pHeader=cfg.getConfig("porgHead");
}else if (type==2) {
pHeader=cfg.getConfig("pdeptHead");
}else if (type==3) {
pHeader=cfg.getConfig("tpinoInitHead");
}else if (type==4) {
pHeader=cfg.getConfig("tpinoBasicHead");
}
//savepath="" 存在服务器上文件的路径
String filename=savepath+"/Books.xls";
File f=new File(filename);
//如是果文件存在 就删除
if (f.exists()) f.delete();
List list=null;
list=tpinfoService.tpinfoFindById(sid);
if (vExcel.bulidExcel(pHeader, list, f,type)){
OutputStream out = response.getOutputStream();
response.setContentType("aplication/vnd.ms-excel");
response.addHeader("Content-Disposition","inline; filename=Books.xls"); //有中文必须转码
DataInputStream dis=new DataInputStream(new FileInputStream(f));
byte[] buf=new byte[1024];
int left=(int)f.length();
int read=0;
while(left>0){
read=dis.read(buf);
left-=read;
out.write(buf,0,read);
}
dis.close();
out.close();
out.close();
//下载成功后,删除服务上的这个文件
if (f.exists()) f.delete();
return;
}
}
/**
* 导入EXCEL
* @param header 表头
* @param list 被导出的列表
* @param f 文件
* @param type 类型 1 2 3 4
* @return
* @throws IOException
* @throws WriteException
*/
public boolean bulidExcel(String header,List list,File f,Long type) throws IOException, WriteException{
//File tempFile=new File("d:/temp/output.xls");
WritableWorkbook workbook = Workbook.createWorkbook(f);
WritableSheet sheet = workbook.createSheet("Books", 0);
//一些临时变量,用于写到excel中
int i;
int counter=0;
String[] title=header.split(",");
for (i=0;i<title.length;i++){
//表头
if(title[i]==null){
sheet.addCell(new Label(i, 0, "未知"));
} else{
sheet.addCell(new Label(i, 0, title[i]));
}
}
TPorg t=null;
TPinfo tpinfo=null;
for (i=0;i<list.size();i++){
counter++;
if (type==1){
t=new TPorg();
t=(TPorg) list.get(i);
sheet.addCell(new Label(0, counter, t.getCardnum().toString() ));
sheet.addCell(new Label(1, counter, t.getRealname().toString()));
sheet.addCell(new Label(2, counter, t.getOrgname().toString()));
sheet.addCell(new Label(3, counter, t.getDeptname().toString()));
//sheet.addCell(new Label(4, counter, t.getFlag().toString()));
}else if(type==2){
t=new TPorg();
t=(TPorg) list.get(i);
sheet.addCell(new Label(0, counter, t.getCardnum().toString() ));
sheet.addCell(new Label(1, counter, t.getRealname().toString()));
sheet.addCell(new Label(2, counter, t.getDeptname().toString()));
//sheet.addCell(new Label(3, counter, t.getFlag().toString()));
}else if (type==3){
tpinfo=new TPinfo();
tpinfo=(TPinfo) list.get(i);
sheet.addCell(new Label(0, counter, tpinfo.getStudentnum().toString() ));
sheet.addCell(new Label(1, counter, tpinfo.getRealname().toString()));
//sheet.addCell(new Label(2, counter, tpinfo.getIdnum() .toString()));
//sheet.addCell(new Label(3, counter, tpinfo.getFlag().toString()));
}else if (type==4){
tpinfo=new TPinfo();
tpinfo=(TPinfo) list.get(i);
sheet.addCell(new Label(0, counter, tpinfo.getStudentnum().toString() ));
sheet.addCell(new Label(1, counter, tpinfo.getRealname().toString()));
sheet.addCell(new Label(2, counter, tpinfo.getIdnum() .toString()));
//sheet.addCell(new Label(3, counter, tpinfo.getFlag().toString()));
}
}
workbook.write();
workbook.close();
return true;
}
分享到:
相关推荐
【导出Excel方法大全】 在ASP.NET开发中,导出数据到Excel是常见的需求,尤其在处理大量数据展示和分析时。本篇文章将详细介绍两种在ASP.NET中导出Excel的方法,主要关注如何从GridView控件导出数据。 1. 存储在...
解决GridControl自带方法不能导出图片,多表头无法导出等问题,解决PivotGridControl导出时候自动分组的问题,真正做到所见所得的导出excel方法,并且支持多个控件一同导出同一个excel,而且支持不同控件显示在不同...
下面将详细介绍jQuery导出Excel的方法,以及相关知识点。 1. **jQuery插件:TableExport** 文件`tableExport.jquery.plugin-a891806`可能是一个名为TableExport的jQuery插件,它允许开发者将HTML表格数据导出为...
asp.net 数据库导出excel 方法 在本篇文章中,我们将讨论使用 ASP.NET 将数据库数据导出到 Excel 文件的方法。该方法使用 DataRow 对象将数据写入到 HTTP 输出流中,并将其作为 Excel 文件下载。 首先,我们需要...
### datagridview最简单的导出EXCEL方法 在日常开发工作中,经常需要处理将DataGridView中的数据导出到Excel的功能。这段代码提供了一种简洁的方法来实现这一需求。 #### 方法介绍 该方法名为`print`,它接收一个...
总结来说,导入导出Excel是数据处理的重要环节,涉及到对Excel文件的操作,包括读取、写入和格式设置。选择合适的库,创建有效的模板,以及使用预先封装好的工具类,都能帮助我们高效地完成这项任务。在实际项目中,...
操作Excel工具类,导出Excel方法,读取Excel中的数据,导入导出采用excel2003 版本
公共POI导出Excel方法详解 本文主要介绍了公共POI导出Excel方法的实现步骤和技术要点,对大家的学习或者工作具有一定的参考学习价值。 知识点1:POI库的概述 POI(Poor Obfuscation Implementation)是一个开源的...
优化了zxf668之前对DBGridEh多标头导出excel方法,对大数据的导出,优化了导出方法。
解决GridControl自带方法不能导出图片,多表头无法导出等问题,解决PivotGridControl导出时候自动分组的问题,真正做到所见所得的导出excel方法,并且支持多个控件一同导出同一个excel,而且支持不同控件显示在不同...
#### 二、导出Excel方法详解 ##### 1. 方法签名 ```csharp public void ExportToExcel(params IPrintable[] panels) ``` **参数说明**: - `params IPrintable[] panels`:接受一个可变数量的`IPrintable`类型的...
lotus Domino BS开发 lotusscript导出excel方法一
二、ASP导出Excel 1. **Excel Automation**:与Word类似,创建Excel对象,添加工作表,写入数据,然后保存为Excel文件。例如: ```vbscript Set objExcel = CreateObject("Excel.Application") objExcel.Visible...
本文将探讨两种主要的打印方法和导出Excel的几种策略,分析它们的优缺点。 首先,我们来看数据打印的方法: 1. **客户端脚本方式**: 这种方法主要依赖JavaScript来分析和提取页面内容,生成打印目标文档。优点...
在导出Excel文件时,经常会遇到“文件格式与扩展名指定格式不一致”的问题,这是因为大多数人在导出Excel文件时,都是默认保存Excel的格式,忽略了SaveAs方法里的参数。实际上,SaveAs方法的第二个参数FileFormat...
解决GridControl自带方法不能导出图片,多表头无法导出等问题,解决PivotGridControl导出时候自动分组的问题,真正做到所见所得的导出excel方法,并且支持多个控件一同导出同一个excel
以下将详细讲解三种批量导出数据库数据至Excel的方法。 ### 方法一:使用SQL查询工具 1. **导出功能集成**:许多数据库管理工具如MySQL Workbench、Navicat、SQL Server Management Studio等,内置了数据导出功能...
另外还有在MVC中把HTML TABLE导出EXCEL的方法,要以很省力啦。 代码如下: using NPOI; //…… public FileResult GetFile(string html) { html = Server.UrlDecode(html); ExportFile result = new ...
js导出Excel三种方法 //整个表格拷贝到EXCEL中 //读取表格中每个单元到EXCEL中
本文将详细介绍ASPxGridView的四种导出Excel的方法。 1. 使用ASPxGridViewExporter组件 第一种方法是通过使用DevExpress专门设计的ASPxGridViewExporter组件。这个组件可以轻松地添加到页面上,与ASPxGridView配合...