社区
Web 开发
帖子详情
poi导出Excel问题???????????
LOVEYOULOVE
2008-10-21 11:11:32
我使用poi导出Excel,第一次导出Excel正确,第二次导出Excel时就多了一行数据,这是什么原因?
...全文
281
11
打赏
收藏
poi导出Excel问题???????????
我使用poi导出Excel,第一次导出Excel正确,第二次导出Excel时就多了一行数据,这是什么原因?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xstom19
2008-10-21
打赏
举报
回复
多出来的一行是第一次导出的数据?POIFSFileSystem没有重新new吧?
LOVEYOULOVE
2008-10-21
打赏
举报
回复
问题已经解决,是PoiDemo类中的数据共享造成的,谢谢各位.
xstom19
2008-10-21
打赏
举报
回复
PoiDemo这个类是你自己写的?
那问题多半就出在
pd.createExcelSheeet(areaOrganSeq,officeUserGroupSeq);
pd.exportExcel(demoSheet,fos);
另外你在servlet里创建HSSFSheet但没看到使用阿,直接在PoiDemo里创建不可以吗?
LOVEYOULOVE
2008-10-21
打赏
举报
回复
return mapping.findForward("saveExcel");不是这样的,我每次输出的都是不同的Excel文件
String areaOrganSeq = request.getParameter("areaOrganSeq");
String officeUserGroupSeq = request.getParameter("officeUserGroupSeq");
// System.out.println("++++++++++++++++++++++++++++++++++++++++++++++"+officeUserGroupSeq);
String fp = request.getParameter("flag");
HSSFWorkbook demoWorkBook = new HSSFWorkbook();
HSSFSheet demoSheet = demoWorkBook.createSheet("通讯录");
//得到当前时间
SimpleDateFormat dateformat1=new SimpleDateFormat("yyyyMMddHHmmssssss");
String time = dateformat1.format(new Date());
HttpSession session = request.getSession();
String fileName = time+".xls";
String folder = "Excel\\";
String fileName1 = folder + fileName;
folder = session.getServletContext().getRealPath("/")+folder;
if(!(new File(folder).isDirectory())) {
new File(folder).mkdir();
}
// HttpSession session = request.getSession();
String path = folder +fileName;
// System.out.println(path);
FileOutputStream fos = new FileOutputStream(path);
// System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"+fos.toString());
try {
PoiDemo pd = new PoiDemo();
pd.createExcelSheeet(areaOrganSeq,officeUserGroupSeq);
pd.exportExcel(demoSheet,fos);
fos.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
request.setAttribute("areaOrganSeq", areaOrganSeq);
request.setAttribute("excel", fileName1);
request.setAttribute("seq", officeUserGroupSeq);
System.out.println("fp:"+fp);
if("null".equals(fp) || null == fp || "".equals(fp)) {
return mapping.findForward("excel");
} else {
}
LOVEYOULOVE
2008-10-21
打赏
举报
回复
不是这样的,我每次输出的都是不同的Excel文件
处理生成Excel文件
String areaOrganSeq = request.getParameter("areaOrganSeq");
String officeUserGroupSeq = request.getParameter("officeUserGroupSeq");
// System.out.println("++++++++++++++++++++++++++++++++++++++++++++++"+officeUserGroupSeq);
String fp = request.getParameter("flag");
HSSFWorkbook demoWorkBook = new HSSFWorkbook();
HSSFSheet demoSheet = demoWorkBook.createSheet("通讯录");
//得到当前时间
SimpleDateFormat dateformat1=new SimpleDateFormat("yyyyMMddHHmmssssss");
String time = dateformat1.format(new Date());
HttpSession session = request.getSession();
String fileName = time+".xls";
String folder = "Excel\\";
String fileName1 = folder + fileName;
folder = session.getServletContext().getRealPath("/")+folder;
if(!(new File(folder).isDirectory())) {
new File(folder).mkdir();
}
// HttpSession session = request.getSession();
String path = folder +fileName;
// System.out.println(path);
FileOutputStream fos = new FileOutputStream(path);
// System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"+fos.toString());
try {
PoiDemo pd = new PoiDemo();
pd.createExcelSheeet(areaOrganSeq,officeUserGroupSeq);
pd.exportExcel(demoSheet,fos);
fos.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
request.setAttribute("areaOrganSeq", areaOrganSeq);
request.setAttribute("excel", fileName1);
request.setAttribute("seq", officeUserGroupSeq);
System.out.println("fp:"+fp);
if("null".equals(fp) || null == fp || "".equals(fp)) {
return mapping.findForward("excel");
} else {
}
xstom19
2008-10-21
打赏
举报
回复
你每次都输出到同一个excel文件自然会覆盖原先的纪录了。
你要么就输出到不同文件,要么就记住上次的行数,然后输出到行数++上
LOVEYOULOVE
2008-10-21
打赏
举报
回复
我现在的问题是:
我用poi导出数据为Excel时出现这么个问题:
如果第一次导出时为三条数据,导出正确
那第二次导出时数据为一条,可Excel中显示为三条,其中第一条为要导出的数据,后两条为第一次导出时的数据
这是什么原因????????????????
抬头望远,低头沉思
2008-10-21
打赏
举报
回复
[Quote=引用 2 楼 LOVEYOULOVE 的回复:]
这怎么new一个空的Excel文件
[/Quote]
/**创建一个空白的excel文件,这个是excel文件在java中的对象,java不是操作对象的语言吗?
*那么就将一个excel文件映射成为一个对象。然而这个excel的对象在java就是HSSFWorkbook
*那么也就是说:在java中你要使用poi来操作excel那么HSSFWorkbook对象就是你要操作的那个excel文件,
*当HSSFWorkbook 对象是一个空对象的时候,就默认为你创建了一个excel文件
*/
HSSFWorkbook hssfworkbook = new HSSFWorkbook();
youjianbo_han_87
2008-10-21
打赏
举报
回复
//建立工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
//建立Excel 页
HSSFSheet sheet = workbook.createSheet();
//设置Cell 宽度
private void setColumnWidth(HSSFSheet sheet)
{
//根据你数据里面的记录有多少列,就设置多少列
sheet.setColumnWidth((short) 0, (short) 3000);
sheet.setColumnWidth((short) 1, (short) 3000);
sheet.setColumnWidth((short) 2, (short) 3000);
}
已经建好了一个只有一个sheet的excel,3列
yiyi_wx
2008-10-21
打赏
举报
回复
数据没问题的话就是哪里的代码有问题 好好查一下
不行就debug看看
LOVEYOULOVE
2008-10-21
打赏
举报
回复
这怎么new一个空的Excel文件
poi
导出
excel
生成下拉列表
poi
作为
导出
excel
常用的工具,方便快捷。对于
excel
指定下拉列表的列,如何生成呢?本文提供如何生成下拉列表的
excel
列
使用ITEXT
导出
PDF、WORD,APACHE
POI
导出
EXCEL
报表文件
NULL 博文链接:https://keep-going.iteye.com/blog/1907664
导出
Excel
所需的jar包
基于
poi
导出
Excel
所需要的jar包,做
Excel
时候没少寻找
java
poi
操作
excel
批量导入
导出
项目需要的jar包
java 开发中
Poi
操作
excel
批量导入
导出
项目需要的jar包
Java
POI
导入
导出
Excel
简单实例源代码
Java
POI
导入
导出
Excel
简单实例源...Java
POI
导出
EXCEL
经典实现 Java
导出
Excel
弹出下载框 http://blog.csdn.net/evangel_z/article/details/7332535 web页面
导出
Excel
文档,路径:http://localhost:8080/
poi
/export
Web 开发
81,091
社区成员
341,719
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章