public void importGoods(MultipartFile file, Goods goods)
throws FileImportException {
InputStream is = null;
try {
is = file.getInputStream();
} catch (IOException e) {
logger.error("获取上传文件出错", e);
}
if (is == null) {
return;
}
String filename = file.getOriginalFilename();
String fileExtension = FilenameUtils.getExtension(filename);
List<String[]> data = ExcelParser.parseToString(is, fileExtension);
if (data == null) {
return;
}
for (int i = 2; i < data.size(); i++) {
String[] rowData = data.get(i);
rowData[0] = StringUtils.trimToNull(rowData[0]);
if (rowData[0] == null) {
continue;
}
this.insertGoods(i,rowData);
}
}
-------
private void insertGoods(int lineNo,String[] rowData)throws FileImportException{
Goods goods = new Goods();
goods.setOldSku(this.trimVal(rowData[0]));//老SKU
goods.setName(this.checkContent(rowData[1], lineNo, 1));//货品名称
goods.setEnName(this.trimVal(rowData[2]));//英文名称
goods.setUnit(this.trimVal(rowData[3]));//产品单位
}
------------
@RequestMapping("import")
@RequestParam("fileName")MultipartFile file,Goods goods){
try {
goodsService.importGoods(file, goods);
redirectAttr.addFlashAttribute("successMessage", "导入成功");
} catch (FileImportException e) {
logger.error("导入出错", e);
model.addAttribute("errorMessage", String.format("%s行 %s列, %s", e.getLineNumber(), e.getColumnNumber(), e.getMessage()));
} catch (Exception e) {
logger.error("导入出错", e);
model.addAttribute("errorMessage", e.getMessage());
}
return "goods/goods-list";
}
分享到:
相关推荐
在Java编程中,处理Excel文件是一项常见的任务,无论是读取数据、创建新的Excel工作簿,还是向其中插入文字和图片,都有成熟的库可以支持。本篇文章将深入探讨如何使用Java来实现这些功能。 首先,我们需要引入一个...
在提供的压缩包中,应该包含了Apache POI的相关jar文件,如poi-ooxml-schemas、poi-ooxml、poi等,这些都是读写Excel文件所必需的依赖。 下面我们将详细讲解如何使用Apache POI来读取Excel数据: 1. **导入依赖**...
java实现读取Excel数据,根据一定格式写入Word,包含源代码,所需jar包及打包后的可执行jar文件,解压后将ExcelTrans直接导入MyEclipse即可,项目上可能会出现一个小叉,但是可以正常运行。
java jxl 通过excel模板创建新文件并将数据导入excel,实现按行、列插入数据
总结起来,Java实现Excel中插入图片的核心步骤包括:导入Apache POI库,创建并操作工作簿和工作表,读取和创建图片对象,创建绘图工作表,设置图片位置,最后保存工作簿。在实际开发中,可能还需要处理图片格式转换...
6. **执行SQL**:使用`Statement`或`PreparedStatement`执行SQL语句,批量插入数据。为提高效率,可以使用批处理(batch processing),将多条SQL语句打包一起执行。 7. **错误处理**:在执行过程中捕获并处理可能...
本项目"java实现Excel数据导入到mysql数据库"旨在利用Java技术将Excel表格中的数据高效地导入到MySQL数据库,并且在数据库中存在相同数据时进行更新,同时也支持将数据库中的数据导出到Excel表中。这个过程涉及到多...
### JAVA读取Excel数据知识点详解 #### 一、引言 在日常开发工作中,经常会遇到需要处理Excel文件的情况。Java提供了多种方式来读取Excel文件,包括使用Apache POI库等第三方工具。本文将详细介绍如何使用Java语言...
通过使用POI,我们可以创建工作簿、工作表、行和单元格对象,进而实现对Excel数据的读取和写入。 在Java中,实现Excel数据导入到数据库的步骤如下: 1. **读取Excel文件**:使用POI的`XSSFWorkbook`(针对.xlsx...
本篇文章将详细介绍如何利用Java和Apache POI库向Excel工作表中插入图片。 首先,我们需要理解Apache POI的工作原理。POI提供了一个名为HSSFPatriarch的类,它是Excel中的图形绘制容器,可以用于插入图片。对于....
例如,如果你的Excel数据是一系列的员工信息,模板中可能有一个占位符"{name}"用于插入员工姓名: ```java import org.apache.poi.xwpf.usermodel.*; // ... XWPFDocument doc = new XWPFDocument(); ...
我们将主要讨论Apache POI库,这是一个流行的Java API,用于读写Microsoft Office格式的文件,包括Excel。 首先,让我们从基础开始。Apache POI提供了`XSSFWorkbook`类来创建.xlsx格式的Excel文件,而`HSSFWorkbook...
- **读写操作**:使用`Workbook`接口读写Excel文件,`Workbook.createSheet()`创建工作表,`Sheet.addCell()`添加单元格。 - **数据访问**:`Cell`对象提供了获取和设置单元格数据的方法。 3. **Excel 导入数据库...
在Java编程环境中,生成Excel数据表是一项常见的任务,特别是在数据处理、报表生成或者数据分析的场景中。本篇文章将深入探讨如何使用Java来动态地生成Excel数据表,主要涉及的库有Apache POI。 Apache POI是Java...
总结来说,这个项目展示了如何利用Java的Apache POI库读取Excel数据,结合XML解析进行数据验证,最后将验证通过的数据导入到数据库。这个过程涉及到文件I/O、XML处理、数据验证、数据库操作等多个核心Java技术,对于...
在Java编程中,导出Excel是一项常见的需求,尤其在数据处理和报表生成方面。本资源提供的"java导出excel复合表头简单实例"是针对Java开发者的一个实用教程,特别是对于那些刚开始接触Java Excel导出功能的新手。这个...
EasyExcel是一个基于Java的简单、易用且高效的Excel处理工具,它支持读写Excel文件,并且能够有效地避免内存溢出问题。 **EasyExcel特点:** - **内存消耗低:** EasyExcel使用流式处理的方式读取Excel文件,只在...
它支持多种功能,包括创建新的工作簿、添加工作表、插入数据、设置单元格格式等。JXL库适用于处理较小规模的数据,对于大型数据集,可能需要考虑其他更高效的库,如Apache POI。 **读取Excel文件:** 在Java中使用...
8. **性能优化**:为了处理大量数据,可能需要分批读取Excel和插入数据,避免一次性加载造成内存溢出。 9. **日志记录**:记录操作过程,方便调试和追踪问题。 10. **资源关闭**:操作完成后,确保关闭数据库连接...
接下来,可以创建`Connection`对象,打开到数据库的连接,创建`PreparedStatement`用于执行SQL插入语句,然后逐条插入数据: ```java import java.sql.*; Connection conn = DriverManager.getConnection("jdbc...