问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

java导出复杂Excel报表求帮助

发布网友 发布时间:2022-04-19 10:50

我来回答

2个回答

热心网友 时间:2023-07-09 12:00

就是使用poi工具,你自己去下载poi.jar吧。
public class CreateXL
{
 public static String xlsFile="test.xls"; //产生的Excel文件的名称
 public static void main(String args[])
 {
  try
  {
   HSSFWorkbook workbook = new HSSFWorkbook(); //产生工作簿对象
   HSSFSheet sheet = workbook.createSheet(); //产生工作表对象
   //设置第一个工作表的名称为firstSheet
   //为了工作表能支持中文,设置字符编码为UTF_16
   workbook.setSheetName(0,"firstSheet",HSSFWorkbook.ENCODING_UTF_16);
   //产生一行
   HSSFRow row = sheet.createRow((short)0);
   //产生第一个单元格
   HSSFCell cell = row.createCell((short) 0);
   //设置单元格内容为字符串型
   cell.setCellType(HSSFCell.CELL_TYPE_STRING);
   //为了能在单元格中写入中文,设置字符编码为UTF_16。
   cell.setEncoding(HSSFCell.ENCODING_UTF_16);
   //往第一个单元格中写入信息
   cell.setCellValue("测试成功");
   FileOutputStream fOut = new FileOutputStream(xlsFile);
   workbook.write(fOut);
   fOut.flush();
   fOut.close();
   System.out.println("文件生成...");
   //以下语句读取生成的Excel文件内容
   FileInputStream fIn=new FileInputStream(xlsFile);
   HSSFWorkbook readWorkBook= new HSSFWorkbook(fIn);
   HSSFSheet readSheet= readWorkBook.getSheet("firstSheet");
   HSSFRow readRow =readSheet.getRow(0);
   HSSFCell readCell = readRow.getCell((short)0);
   System.out.println("第一个单元是:" + readCell.getStringCellValue());
  }
  catch(Exception e)
  {
   System.out.println(e);
  }
 }
}
  与数据库结合使用

  使用POI,结合JDBC编程技术,我们就可以方便地将数据库中的数据导出生成Excel报表。其关键代码如下:

/*把数据集rs中的数据导出至Excel工作表中。
*传入参数:数据集rs,Excel文件名称xlsName,工作表名称sheetName。
*/

public static void resultSetToExcel(ResultSet rs,String xlsName,String sheetName) throws Exception
{
 HSSFWorkbook workbook = new HSSFWorkbook();
 HSSFSheet sheet = workbook.createSheet();
 workbook.setSheetName(0,sheetName,HSSFWorkbook.ENCODING_UTF_16);
 HSSFRow row= sheet.createRow((short)0);;
 HSSFCell cell;
 ResultSetMetaData md=rs.getMetaData();
 int nColumn=md.getColumnCount();
 //写入各个字段的名称
 for(int i=1;i<=nColumn;i++)
 {
  cell = row.createCell((short)(i-1));
  cell.setCellType(HSSFCell.CELL_TYPE_STRING);
  cell.setEncoding(HSSFCell.ENCODING_UTF_16);
  cell.setCellValue(md.getColumnLabel(i));
 }

 int iRow=1;
 //写入各条记录,每条记录对应Excel中的一行
 while(rs.next())
 {row= sheet.createRow((short)iRow);;
  for(int j=1;j<=nColumn;j++)
  {
   cell = row.createCell((short)(j-1));
   cell.setCellType(HSSFCell.CELL_TYPE_STRING);
   cell.setEncoding(HSSFCell.ENCODING_UTF_16);
   cell.setCellValue(rs.getObject(j).toString());
  }
  iRow++;
 }
 FileOutputStream fOut = new FileOutputStream(xlsName);
 workbook.write(fOut);
 fOut.flush();
 fOut.close();
 JOptionPane.showMessageDialog(null,"导出数据成功!");
}

热心网友 时间:2023-07-09 12:00

遇到了什么问题?具体描述一下吧
Java百万数据导出Excel性能优化[读(并发)写分离/流式查询]

Java导出百万数据至Excel时,优化性能关键在于读写分离与流式查询。Excel 2007及以上版本最大单Sheet支持1048576行数据,处理百万数据需每百万行创建一个新Sheet。数据通常从数据库中批量获取,一次查询量过大可能导致内存溢出,因此推荐分页查询或流式查询。使用如easyexcel等库可实现分页查询并写入,每百万行...

excel导出百万数据,解决超时和内存溢出的问题

return "XSSFWorkbook:100w条数据写入Excel消耗时间:" + (t2 - t1);} 运行这段代码后,会发现导出过程非常耗时,这显然是因为内存和性能问题导致的。接下来,我们尝试使用SXSSFWorkbook工具进行同样的操作。同样使用传统方式,我们先引入依赖:org.apache.poi、poi-ooxml版本3.17,然后编写代码如下:java ...

Java导入、导出excel保姆级教程(附封装好的工具类)

要实现这个功能,首先需要在项目中引入Apache POI库。在pom.xml中添加相关依赖后,我们开始一步步操作:创建Excel的基本元素,包括WorkBook,然后添加Sheet并设置名称。 接着创建Row和Cell,可以指定单元格的类型,如文本、数字等。 美化导出的Excel,通过创建样式和字体,如设置字体样式、颜色和大小,调整...

JAVA如何实现导出大数量EXCEL报表 数据大概100W条

好像是你的excel文件问题,你另外新建一个,再写点东西在里面试下随便给你一个我以前用过的importjava.io.*;importjava.text.SimpleDateFormat;importjava.util.*;importjava.sql.*;importjava.util.Date;importjava.util.HashMap;importjava.util.Map;importjxl.*;publicclassSimUpdate{privateStringfileN...

java读取百万级excel数据,求助,各位大佬?

优化1:先查询全部数据,缓存到map中,插入前再进行判断,这样可以显著提高速度。优化2:对于大文件,可以采用异步+多线程读取若干行并分批入库。优化3:对于文件数量过多的情况,可以将每个Excel异步读取与插入,形成双异步操作。通过这些优化,从191秒优化至2秒,效率惊人。以下是关键代码,用于异步读取...

java数据导出excel或其他文件格式,数据量大怎么优化

、测试从数据库读取的耗时,优化SQL。2、改善数据转换导出的算法,更换效率更高的类库。

java大概1000W数据导出成excel有什么好的建议。(最好是插件,POI、JXL...

考虑分批,追加写入的方式,对于简单的字节字符流文件是可取的。然而写成excel这种结构化的文件格式应该是没办法胜任了,追加写入时往往需要事先获知文件的结构信息,然后找到相应的位置进行插入,而这个过程也是复杂的(这也是POI、JXL出现的原因)。因此,建议你输出为多个excel文件吧。PS:不知道这么大的...

java多线程进行大批量excel数据导入实现方案?

方法一:使用JExcel API。此方法直接操作Excel文件,适合数据量不大且对性能要求不高的场景。在多线程导入时,可将数据分类分块,每个线程处理一块数据,提升导入效率。方法二:将Excel数据转换为CSV格式,再导入到目标平台。这种方法相对方法一在性能上有所提升,同时减少了对Java库的依赖。同样在多线程...

我在java后台像要导出个excel表格样式里面的序号是同前台的数据而定的...

你这个不难,从你这个表里面看的貌似你只需要判断,然后动态去填“业务名称”这行的值,表面上看你这情况可以每三行循环,分别获取相对的第一行、第二行、第三行,判断完了之后,再将数据写入到第三行对应的列上,最后再保存就行了。

java中,如何实现将导出的excel导出的数据条数及无法导出数据提示在页面...

将数据表中的数据导出并保存为xls简单,用SSIS或者查询出来之后另存为都可以。但是,这个表中的分类有数百个,如果一个个用SSIS或者查询另存为的话,工作量巨大。前思后想,想到了用while循环查询,并用bcp导出的方法。下面是相关代码:--声明需要的变量 set @sql=@sql+' union all select 列名1,...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
根治类风湿关节炎的方法 oa软件哪个好,求推荐? 奥运会主题曲是谁写的?求大神帮助 5566为奥运创作的歌曲叫什么?求大神帮助 2008北京奥运会应该唱什么歌好?求大神帮助 关于奥运会歌曲 大神求解 求各届奥运会的歌曲(全部歌曲)求大神帮助 有什么歌关于奥运会 ?求大神帮助 为什么女人出轨后,还愿意和老公一起睡? 下列为元素周期表中的一部分,除注明外其他都用化学用语回答下列... 用JAVA导出一个Excel文件的工具 404 Not Found java导出数据到excel的几种方法的比较 谁能给我个Java 的 Excel导出工具类 如何用java完成Excel快速的导入导出 java使用什么技术实现excel数据的批量导入导出 java导出excel有什么好的工具吗 最近松下空调开制暖后。半小时自动停机然后定时灯一直闪烁 松下空调制热问题 松下空调为什么制热的相当慢还有温度上不 松下空调怎么调制热 松下空调制冷的效果很好的制热的就不热是怎么回事 松下冷暖空调不制热 制热功能就不启动!指示灯闪 松下空调制热没反应不出风是什么原因 松下空调制热不行,一开机就出风怎么回事 空调不到设定温度就停-空调内机在未达到设定温度就停机,坏了吧 松下空调冬天制暖效果不太好,为什么? 松下空调制热效果不好 松下空调制冷的效果很好的制热的就不热是怎么回事 松下空调不能制热 java导出excel java excel导出数据页面怎么写 java里将从excel读到的数据用csv导出,代码怎么写 java怎样输出excel文件 java操作excel有多少个工具类 怎样实现把java显示的结果在EXCEL中输出 404 Not Found java 通用导出一个excel java中怎么把报表导出到excel java怎么导出excel 《十年》txt全集下载 秋刀鱼的滋味小说txt全集免费下载 10分钟算不出来看你是否老年痴呆算术题 雷氏家族家谱及字辈排序 组织生活会谈心谈话内容 组织生活会谈话内容是什么? 党员谈心谈话内容 党员谈心谈话谈什么内容 组织生活谈心谈话内容如何填写? 民主生活会谈心谈话内容
  • 焦点

最新推荐

猜你喜欢

热门推荐