社区
Web 开发
帖子详情
poi导出Excel问题???????????
LOVEYOULOVE
2008-10-21 11:11:32
我使用poi导出Excel,第一次导出Excel正确,第二次导出Excel时就多了一行数据,这是什么原因?
...全文
289
11
打赏
收藏
poi导出Excel问题???????????
我使用poi导出Excel,第一次导出Excel正确,第二次导出Excel时就多了一行数据,这是什么原因?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
列
Java
POI
导入
导出
Excel
简单实例源代码
Java
POI
导入
导出
Excel
简单实例源代码 该源代码的jar包,参见以下博文附录截图 Java
POI
导出
EXCEL
经典实现 Java
导出
Excel
弹出下载框 http://blog.csdn.net/evangel_z/article/details/7332535 web页面
导出
Excel
文档,路径:http://localhost:8080/
poi
/export
Java实现
Excel
导入
导出
Excel
源代码,导入
导出
各种工具类 org.apache.
poi
poi
org.apache.
poi
poi
-scratchpad 代码实例: String path = ""; byte[] bytes; vo.setCurrentPage(0); vo.setPageSize(Integer.MAX_VALUE); List list = stockOrderController.exportShOutOrderDetail(vo); Map empinfo = new TreeMap(); int index = 1; empinfo.put(index++, new Object[]{"销售单号", "销售时间", "会员", "商品总额", "来源", "商品名称/属性", "数量", "单价"}); for (ShOutOrderDetail item : list) { empinfo.put(index++, new Object[]{ item.getOutOrderNo(), DateUtil.SDF.format(item.getOutTime()), item.getNickName()+"/"+item.getMobile(), String.valueOf(item.getStockPrice().multiply(new BigDecimal(item.getStockAmount()))), "01".equals(item.getSalesSource()) ? "线上订单" : "线下订单", item.getGoodsNameAttrs(), String.valueOf(item.getStockAmount()), String.valueOf(item.getStockPrice()) }); } try { bytes =
Excel
Utils.simple
Excel
(empinfo, "销售单信息"); MultipartFile multipartFile = new MultipartFile(); multipartFile.setData(bytes); multipartFile.setOriginalFilename("ShOutOrderDetailExport.xls"); path = fastDFSClientController.uploadFile(multipartFile); } catch (Exception e) { logger.error("出库单信息
导出
失败 : {}", e.getMessage(), e); return "fail"; } logger.info("出库单信息
导出
结束,path:{}", path); return path;
快速通关Java 对
Excel
导入
导出
-
POI
和Easy
Excel
? ? ? 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常如下需求:把我们的报表直接用
Excel
打开(电信系统、银行系统)。或者是:我们已经习惯用
Excel
打印。这样在我们实际的开发中,很多时候需要实现导入、
导出
Excel
的应用。这个如果自己从零开始做还比较麻烦。比如我之前就职的公司都是自己做的组件,但是很不好用,BUG 太多。关于表格导入
导出
,市面上比较知名的开源就是 Apache 的
POI
和 阿里巴巴的 Easy
Excel
了 ? ? ? 通过本课程学习让大家快速通关Java对
Excel
操作,掌握
POI
和Easy
Excel
相关应用,彻底搞定
Excel
导入
导出
问题
。
poi
.jar 全部jar包程序文件
poi
读取
excel
数据所需要的jar包
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章