Action类
ImportDataService service = (ImportDataService)ApplicationFactory.getService("ImportDataService");
String str = "ASSETNAME,ASSETINFORMATION,ASSETTYPE,BUYINGTIME,AMOUNT,USEDDEPT,LOCATION,REMARK,ASSETSTATUS,RESPONSIBLEPERSON" ;
for(int i=1;i<28;i++)
{
str = str+"clo"+i+",";
}
System.out.println(str);
String[] cloName = str.split(",");
service.importData(0, "E://work/医药价格/test.xls", cloName);
service类
public void importMenberData(int sheetNum, String fileName, String[] cloName)
throws FileNotFoundException, IOException, ParseException
{
List listData = readPrice(sheetNum, fileName, cloName);
ContactService service = (ContactService) ApplicationFactory
.getService("ContactService");
for (int i = 0; listData != null && i < listData.size(); i++)
{
Map dataMap = (Map) listData.get(i);
Map result = new HashMap();
MapUtil.addMap(dataMap, result, cloName);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
result.put("JOINDATE",sdf.parse(result.get("JOINDATE").toString()));
result.put("UPDATEDATE",sdf.parse(result.get("UPDATEDATE").toString()));
service.insertMManagement(result);
}
}
public void importData(int sheetNum, String fileName, String[] cloName)
throws FileNotFoundException, IOException
{
List listData = readPrice(sheetNum, fileName, cloName);
String[] paras = { "ASSETNAME", "ASSETINFORMATION", "ASSETTYPE", "BUYINGTIME", "AMOUNT",
"USEDDEPT", "LOCATION", "REMARK", "ASSETSTATUS", "RESPONSIBLEPERSON" };
AdminManagerService service = (AdminManagerService) ApplicationFactory
.getService("AdminManagerService");
for (int i = 0; listData != null && i < listData.size(); i++)
{
Map dataMap = (Map) listData.get(i);
Map result = new HashMap();
MapUtil.addMap(dataMap, result, paras);
service.insertAssetInfo(result);
}
}
/** 读取excel信息,以List返回 */
public List readPrice(int sheetNum, String fileName, String[] cloName)
throws FileNotFoundException, IOException
{
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(fileName));
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheet = wb.getSheetAt(sheetNum);
// 获得列,宽值
int rowNum = sheet.getLastRowNum();
int cloNum = sheet.getRow(3).getLastCellNum();
List list = new ArrayList();
// 单元个的值
String cellValue = "";
System.out.println(rowNum + "=========" + cloNum);
for (int rowIndex = 2; rowIndex <= rowNum; rowIndex++)
{
Map mapData = new HashMap();
HSSFRow row = sheet.getRow(rowIndex);
for (int cloIndex = 1; cloIndex < cloNum; cloIndex++)
{
cellValue = cellValue2Str(row.getCell((short) cloIndex));
mapData.put(cloName[cloIndex - 1], cellValue);
}
list.add(mapData);
}
return list;
}
/** 获得HSSFSheet */
private HSSFSheet getSheet(int sheetNum, String fileName) throws FileNotFoundException,
IOException
{
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(fileName));
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheet = wb.getSheetAt(sheetNum);
return sheet;
}
/** 获得单元格值 */
private HSSFCell getCellValue(HSSFRow row, int cellIndex)
{
return row.getCell((short) cellIndex++);
}
/** 将单元格值转换为字符型 */
public static String cellValue2Str(HSSFCell cell)
{
String cellValue = "";
switch (cell.getCellType())
{
case HSSFCell.CELL_TYPE_NUMERIC:
{
cellValue = checkNumNull(cell);
break;
}
case HSSFCell.CELL_TYPE_STRING:
{
cellValue = checkStrNull(cell);
break;
}
default:
{
cellValue = checkDateNull(cell);
// System.out.println("日期是: " + cellValue);
}
}
return cellValue;
}
static String oldValue = "";
/** 检查单元格是否为空 */
public static String checkNumNull(HSSFCell cell)
{
String cellValue = "";
if (cell.getNumericCellValue() == 0)
{
cellValue = oldValue;
}
else
{
cellValue = num2str(cell.getNumericCellValue());
oldValue = cellValue;
}
return cellValue;
}
public static String checkStrNull(HSSFCell cell)
{
String cellValue = "";
if (cell.getStringCellValue().equals(null) || cell.getStringCellValue().equals(""))
{
cellValue = oldValue;
}
else
{
cellValue = cell.getStringCellValue();
oldValue = cellValue;
}
return cellValue;
}
public static String checkDateNull(HSSFCell cell)
{
String cellValue = "";
if (cell.getDateCellValue() == null)
{
cellValue = oldValue;
}
else
{
cellValue = date2str(cell.getDateCellValue());
oldValue = cellValue;
}
return cellValue;
}
/** 数字转换为字符 */
public static String num2str(double cellValue)
{
DecimalFormat df = new DecimalFormat("0.00");
return df.format(new Double(cellValue));
}
/** 日期转换为字符 */
public static String date2str(Date cellValue)
{
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
return simpleDateFormat.format(cellValue);
}
分享到:
相关推荐
在实际开发中,你可以通过以下步骤使用Apache POI来导入Excel数据: 1. **创建工作簿对象**:使用`WorkbookFactory.create()`方法,传入文件流或者文件路径来创建一个`Workbook`对象,代表整个Excel文件。 2. **...
POI导入Excel并返回校验后的错误文件(原样数据文件,并添加批注,注:由于批注只能加1000条,会在Excel后面添加一栏错误信息)下载以及页面展示校验错误信息,同时添加导入进度条,提供页面js和css代码,后端...
这篇博文链接虽然没有提供具体内容,但我们可以根据“java_poi导入excel”这个主题深入探讨Java POI库在Excel导入方面的应用。 首先,Java POI 提供了HSSF(用于老版本的BIFF格式,如.xls)和XSSF(用于新版本的...
在提供的文件列表中,"POI 导入Excel 提醒LeftoverDataException求帮助 - J2SE.htm"可能是对问题的详细描述或解决方案,而"POI 导入Excel 提醒LeftoverDataException求帮助 - J2SE_files"可能包含了相关的代码示例或...
在本项目中,我们结合了POI库和XML技术来实现Excel数据的验证与导入数据库。 首先,Apache POI提供了HSSF和XSSF两个API,分别用于处理老版本的BIFF8格式(.xls)和新版本的OOXML格式(.xlsx)。在这个案例中,我们...
### POI导入Excel表格数据小例子 #### 一、背景介绍 Apache POI 是一个用于读写 Microsoft Office 格式文件的 Java API,包括 Excel、Word 和 PowerPoint 等。本例通过 Apache POI 库将 Excel 文件中的数据导入到...
这个"java_poi导入excel通用工具类"是利用Java的POI库和一些额外的技术来实现对Excel数据的导入功能,使得开发人员能够方便地将Excel数据转化为Java对象或者对已有对象进行填充。下面我们将深入探讨相关的知识点。 ...
"java_poi导入excel通用工具类V0915" 提供了一种通用的方式来处理Excel数据的导入工作,它支持多种赋值方式,包括单个对象、列表对象以及指定坐标的赋值。 首先,让我们深入理解一下这个工具类的主要功能: 1. **...
Java POI 实现 Excel 导入导出 Java POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 Excel 文件。在本文中,我们将详细介绍如何使用 Java POI 实现 Excel 导入导出功能。 1. 什么是 Java ...
标题提到的“POI导入excel大数据处理”是指利用Apache POI进行大量Excel数据的导入操作,同时它兼容Excel 2003(.xls格式)和2007以上版本(.xlsx格式)的文件。 POI库的主要优点包括: 1. **多格式支持**:不仅...
总结起来,"SpringMvc+POI 导入Excel"是一个涵盖前端交互、后端处理、文件上传、数据读取、验证和保存等多个环节的综合技术实践。通过学习和掌握这些知识点,开发者可以有效地实现Web应用中的Excel数据导入功能,...
标题 "简单poi导入excel2003 与2007" 暗示了这个压缩包中的内容可能涉及使用Apache POI库来处理不同版本的Excel文件,主要是Excel 2003和2007。Apache POI是Java中广泛使用的库,用于读取和写入Microsoft Office格式...
标题 "ExtJS poi 导入excel" 涉及到两个主要技术:ExtJS 和 Apache POI,它们在Java环境中用于处理Excel数据。ExtJS 是一个JavaScript库,主要用于构建富客户端应用程序,而Apache POI是Java的一个开源项目,用于...
poi导入excel 兼容2003-2007兼容版本,测试可以成功;poi导入excel 兼容2003-2007兼容版本,测试可以成功;
2. **导入Excel**:读取本地Excel文件,解析Workbook,获取每个Sheet,再遍历Sheet中的Row和Cell。将读取到的数据转换为适合插入数据库的格式,通过MyBatis的SqlSession执行相应的INSERT语句,将数据存入MySQL数据库...
在导入Excel时,我们通常会创建一个Workbook对象,然后通过其工作表接口(Sheet)访问具体的单元格(Cell)。对于导出,我们需要创建一个新的Workbook,添加工作表,然后填充数据到相应的单元格中。 在描述中提到,...
在这个"poi导入excel的demo"中,我们将深入探讨如何使用Apache POI库来读取和写入Excel文件,支持.xls(BIFF8格式)和.xlsx(OOXML格式)这两种常见的Excel版本。 1. **Apache POI简介** Apache POI 是Java平台上...
总结来说,"SpringMvc+POI 导入Excel文件"这一主题涵盖了Web开发中几个关键的组件和技术。SpringMvc作为后端框架,处理HTTP请求并调用业务逻辑;Apache POI则提供了处理Excel文件的工具;而Jquery.form.js插件使得...
poi导入excel示例文件.xlsx
本篇文章将详细探讨如何使用POI库来导入Excel文件,并结合form表单提交的数据进行处理。我们将讨论以下几个核心知识点: 1. **Apache POI简介** Apache POI 是一个开源项目,它提供了API来处理Microsoft的Office...