66问答网
所有问题
JAVA怎么向Excel中写入批量数据?
如题所述
举报该问题
其他回答
第1个回答 2022-11-16
public static void drawExcel(HSSFWorkbook wb, String sheetName, String title, int n, List exlList, int[] index){\x0d\x0aList
exList =(List
)exlList;\x0d\x0aint len = exList.get(0).length;\x0d\x0a// 创建一个sheet表单\x0d\x0aHSSFSheet sheet = wb.createSheet(sheetName);\x0d\x0aRegion region = null;\x0d\x0a//样式\x0d\x0aHSSFCellStyle cellStyle1 = setStyleBorder(wb);\x0d\x0aHSSFCellStyle cellStyle2 = setStyleFontBorder(wb);\x0d\x0a// 创建标题行\x0d\x0aHSSFRow row = sheet.createRow(0);\x0d\x0arow.setHeight((short)500);\x0d\x0a// 创建单元格\x0d\x0aHSSFCell cell = null;\x0d\x0aif(title != null && !"".equals(title)){\x0d\x0aregion = new Region(0, (short)0, 0, (short)(len- 1));\x0d\x0asheet.addMergedRegion(region);\x0d\x0a\x0d\x0acell = row.createCell(0);\x0d\x0a// 标题写入单元格\x0d\x0acell.setCellValue(title);\x0d\x0a cell.setCellStyle(setStyleFontSize(wb, 18));\x0d\x0a}else{\x0d\x0an = n - 1;\x0d\x0a}\x0d\x0a\x0d\x0a NumberFormat formatter = NumberFormat.getNumberInstance();\x0d\x0a formatter.setMaximumFractionDigits(8);\x0d\x0a//合计信息\x0d\x0aDouble[] sum = new Double[len];\x0d\x0aObject[] s = null;\x0d\x0afor(int i = 0; i < exList.size(); i++){\x0d\x0as = exList.get(i);\x0d\x0arow = sheet.createRow(i + n);\x0d\x0a// 创建数据行\x0d\x0afor(int j = 0; j < s.length; j++){\x0d\x0acell = row.createCell(j);\x0d\x0a/***\x0d\x0a* jobin create\x0d\x0a*/\x0d\x0aif(s[j] instanceof Integer || s[j] instanceof Float){\x0d\x0acell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);\x0d\x0a}else{\x0d\x0acell.setCellType(HSSFCell.CELL_TYPE_STRING);\x0d\x0a}\x0d\x0aif(!StringUtils.isNotEmpty(s[j])){\x0d\x0acell.setCellStyle(cellStyle1);\x0d\x0acontinue;\x0d\x0a}\x0d\x0aString[] rs = null;\x0d\x0aint l = 3000;\x0d\x0aif(i == 0 && s[j].toString().indexOf(",") > 0){\x0d\x0ars = s[j].toString().split(",");\x0d\x0acell.setCellValue(rs[0]);\x0d\x0al = Integer.parseInt(rs[1]);\x0d\x0a}else{\x0d\x0acell.setCellValue(s[j].toString());\x0d\x0a}\x0d\x0aif(i == 0){\x0d\x0acell.setCellStyle(cellStyle2);\x0d\x0a//设置列宽\x0d\x0a//if(j == 0){\x0d\x0a sheet.setColumnWidth(j, l);\x0d\x0a//}else if(j == s.length -1){\x0d\x0a// sheet.setColumnWidth(j, 5000);\x0d\x0a//}else{\x0d\x0a// sheet.setColumnWidth(j, 3000);\x0d\x0a//}\x0d\x0a}else{\x0d\x0acell.setCellStyle(cellStyle1);\x0d\x0a//合计统计\x0d\x0aif(index != null){\x0d\x0afor(int in : index){\x0d\x0aif(in == j){\x0d\x0aif(sum[in] == null) sum[in] = 0.0;\x0d\x0asum[in] += Double.parseDouble(s[j].toString());\x0d\x0a}\x0d\x0a}\x0d\x0a}\x0d\x0a}\x0d\x0a}\x0d\x0a}\x0d\x0a//合计信息\x0d\x0aif(index != null){\x0d\x0aregion = new Region(exList.size() + 1, (short)0, exList.size() + 1, (short)(index[0]-1));\x0d\x0asheet.addMergedRegion(region);\x0d\x0arow = sheet.createRow(exList.size() + n);\x0d\x0afor(int i = 0; i < sum.length; i++){\x0d\x0acell = row.createCell(i);\x0d\x0acell.setCellStyle(cellStyle2);\x0d\x0aif(i == 0){\x0d\x0acell.setCellValue("合计");\x0d\x0a}else if(sum[i] != null){\x0d\x0acell.setCellValue(formatter.format(sum[i]).replace(",", ""));\x0d\x0a}\x0d\x0a}\x0d\x0a}\x0d\x0a\x0d\x0a}\x0d\x0a核心代码,我项目上使用的
相似回答
java
jxl 大量
数据写入excel
,比如上千万条
答:
我在项目中的做法是先判断数据源的大小,因为excel一页最多是65536行,所以就得进行拆分,
先判断数据源可以拆分成几页,最后写入即可
,如下示例代码:// 首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象FileUtil.createFileDire(file.getAbsolutePath());// if (!file.getName()....
急啊!
java中怎么
把10万条
数据
导入
Excel
,
答:
public static void main(String[] args) throws IOException, RowsExceededException, WriteException { String path="D:\\123.xlsx";//找到
Excel
表格 File file=new File(path);//为
excel
表格开辟内存 WritableWorkbook workbook=Workbook.createWorkbook(file);WritableSheet sheet=workbook.createSheet("第...
从
excel
表格读取数据用
Java
代码实现
批量
上传
写入数据
库
答:
//
写入数据
并关闭文件 book.write();book.close();}catch(Exception e){ System.out.println(e);} } } 编译执行后,会在当前位置产生一个Excel文件。三、读取文件 以刚才我们创建的Excel文件为例,做一个简单的读取操作,程序代码如下://读取
Excel的
类 import
java
.io.*;import jxl.*;public ...
java
使用什么技术实现
excel数据的批量
导入导出
答:
java使用第三方工具包POI技术实现excel数据的批量导入导出
。举例如下:1、下载apache的相关jar包。poi-ooxml-3.6.jar xmlbeans-2.3.0.jar等,如图:2、编写相关的读写类 / 读取xls文件内容 / private List<XlsDto> readXls() throws IOException { InputStream is = new FileInputStream("test....
java中怎样在excel中
写
数据
答:
需要导入jxl.jar 搭建环境 将下载后的文件解包,得到jxl.jar,放入classpath,安装就完成了。创建文件 拟生成一个名为“测试
数据
.xls”的Excel文件,其中第一个工作表被命名为“第一页”,大致效果如下:代码(CreateXLS.
java
)://生成
Excel的
类 import java.io.*;import jxl.*;import jxl.write.*...
java中怎么
把
数据写入excel
答:
1、生成
EXCEL
需要手动写查询语句把ORACLE数据库中
的数据
查询出来,再通过操作写到EXCEL文件里面。2、通过EXCEL把数据读取到ORACLE,同样需要去读取EXCEL工作薄
里面的
内容,再通过INSERT语句去插入数据库操作。示例:包括从Excel读取数据,生成新
的Excel
,以及修改Excel ...
大家正在搜
python向excel写入数据
vc批量写入Excel
excel写入数据库
Excel如何读取写入数据库
java怎么写入excel
java将数据写入excel
pandas将数据写入excel
php写入数据到数据库
scala写入Excel