Java读取Excel
来源:互联网 发布:淘宝打单子视频教程 编辑:程序博客网 时间:2024/05/16 07:00
Java读取xls, xlsx格式文件
maven配置:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.15</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.8</version>
</dependency>
- package com.thinkive.common.util;
- import java.io.FileInputStream;
- import java.io.InputStream;
- import java.text.NumberFormat;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
-
- import org.apache.log4j.Logger;
- import org.apache.poi.hssf.usermodel.HSSFWorkbook;
- import org.apache.poi.ss.usermodel.Row;
- import org.apache.poi.ss.usermodel.Sheet;
- import org.apache.poi.ss.usermodel.Workbook;
- import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-
- import com.thinkive.common.function.gastatisics.bean.ThirdBean;
-
-
- public class ReadExcel {
-
- private static Logger logger = Logger.getLogger(ReadExcel.class);
-
- public static void readExcelAndInstallDB(String filePath, int ignoreRows) throws Exception {
-
- Map<String, String> map = AnalyzeFileName.analyzeFileName(filePath);
- String fileType = map.get("fileType");
- InputStream stream = new FileInputStream(filePath);
-
- Workbook wb = null;
- if ("xls".equals(fileType)) {
- wb = new HSSFWorkbook(stream);
- } else if ("xlsx".equals(fileType)) {
- wb = new XSSFWorkbook(stream);
- } else {
- stream.close();
- logger.error("Excel文件格式错误!");
- return ;
- }
- ignoreRows = ignoreRows < 0 ? 0 : ignoreRows;
- List<ThirdBean> beanList = new ArrayList<ThirdBean>();
- NumberFormat nf = NumberFormat.getInstance();
- nf.setGroupingUsed(false);
- try {
-
-
- for (int k = 0; k < wb.getNumberOfSheets(); k++) {
- Sheet sheet1 = wb.getSheetAt(k);
- for (int i = ignoreRows; i <= sheet1.getLastRowNum(); i++) {
- Row row = sheet1.getRow(i);<span style="font-family: Arial, Helvetica, sans-serif;">
-
-
- if (row != null) {
- String date = String.valueOf(nf.format(row.getCell(4).getNumericCellValue()));
- String time = String.valueOf(nf.format(row.getCell(5).getNumericCellValue()));
- String dateTime = time.length() > 5 ? date+time : date+"0"+time;
-
- String str = row.getCell(10).getStringCellValue().trim();
- beanList.add(bean);
-
- }
- }
- }
-
-
- }finally {
- if(stream != null) {
- stream.close();
- }
- }
- }
- }
0 0