`
z_l_ming
  • 浏览: 11802 次
文章分类
社区版块
存档分类
最新评论

java 解析xls 文件 批量新增

    博客分类:
  • java
阅读更多

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

import java.text.DateFormat;

import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Date;

import java.util.List;

 

import org.apache.poi.hssf.usermodel.HSSFDateUtil;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.ss.usermodel.Cell;

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.XSSFCell;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;

 

public class ExcelRead {

// 判断excel版本

static Workbook openWorkbook(InputStream in, String filename,

String fileFileName) throws IOException {

Workbook wb = null;

if (fileFileName.endsWith(".xlsx")) {

wb = new XSSFWorkbook(in);// Excel 2007

} else {

wb = (Workbook) new HSSFWorkbook(in);// Excel 2003

}

return wb;

}

 

public static List<String[]> getExcelData(String fileName,

String fileFileName) throws Exception {

InputStream in = new FileInputStream(fileName); // 创建输入流

Workbook wb = openWorkbook(in, fileName, fileFileName);// 获取Excel文件对象

Sheet sheet = wb.getSheetAt(0);// 获取文件的指定工作表m 默认的第一个

List<String[]> list = new ArrayList<String[]>();

Row row = null;

Cell cell = null;

int totalRows = sheet.getPhysicalNumberOfRows(); // 总行数

int totalCells = sheet.getRow(0).getPhysicalNumberOfCells();// 总列数

for (int i = 0; i < totalRows; i++) {

// 创建一个数组 用来存储每一列的值

String[] str = new String[totalRows];

row = sheet.getRow(i);

for (int j = 0; j < totalCells; j++) {

cell = (Cell) sheet.getCellComment(j, i);

cell = row.getCell(j);

System.out.println(j + "DDDDDDDDDD");

// str[j] = String.valueOf(cell);

}

// 把刚获取的列存入list

list.add(str);

 

}

for (int r = 0; r < totalRows; r++) {

row = sheet.getRow(r);

System.out.print("第" + r + "行");

for (int c = 0; c < totalCells; c++) {

cell = row.getCell(c);

String cellValue = "";

if (null != cell) {

// 以下是判断数据的类型

switch (cell.getCellType()) {

case XSSFCell.CELL_TYPE_NUMERIC: // 数字

cellValue = cell.getNumericCellValue() + "";

// 时间格式

// if(HSSFDateUtil.isCellDateFormatted(cell)){

// Date dd = cell.getDateCellValue();

// DateFormat df = new

// SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

// cellValue = df.format(dd);

// }

break;

case XSSFCell.CELL_TYPE_STRING: // 字符串

cellValue = cell.getStringCellValue();

break;

case XSSFCell.CELL_TYPE_BOOLEAN: // Boolean

cellValue = cell.getBooleanCellValue() + "";

break;

case XSSFCell.CELL_TYPE_FORMULA: // 公式

cellValue = cell.getCellFormula() + "";

break;

case XSSFCell.CELL_TYPE_BLANK: // 空值

cellValue = "";

break;

case XSSFCell.CELL_TYPE_ERROR: // 故障

cellValue = "非法字符";

break;

default:

cellValue = "未知类型";

break;

}

System.out.print("   " + cellValue + "\t");

 

}

}

System.out.println();

}

// 返回值集合

return list;

}

 

public static void main(String[] args) throws Exception {

String fileName = "C:/Users/liming.zhu/Desktop/工号.xlsx";//C:/Users/liming.zhu/Desktop/工号20150416.xlsx

ExcelRead upload = new ExcelRead();

upload.getExcelData(fileName, ".xlsx");

}

}

分享到:
评论

相关推荐

    struts1 poi Excel批量导入支持xls和xlsx-源码java

    2. **解析Excel**:使用POI API打开上传的文件,根据文件扩展名选择合适的Workbook类型。对于.xls文件,使用HSSFWorkbook;对于.xlsx文件,使用XSSFWorkbook。 3. **遍历数据**:读取Workbook中的每个Sheet,再遍历...

    java xls导入

    在Java编程中,"java xls导入"涉及到的是处理Excel数据的一种常见技术,主要用来读取、解析和操作.xls格式的文件。XLS是Microsoft Excel早期版本(97-2003)使用的文件格式,用于存储工作簿数据。在本文中,我们将...

    xls的导入导出

    例如,MySQL有LOAD DATA INFILE命令,可以配合使用程序(如Python的pandas库或Java的Apache POI库)将XLS文件的数据批量导入到表中。 其次,**xls文件的导出**是相反的过程,即从数据库中提取数据并保存为XLS文件。...

    java实现Excel数据导入到mysql数据库.zip

    这个过程涉及到多个关键知识点,包括Java的文件操作、数据解析、数据库连接以及SQL操作。 首先,Java的文件操作是基础,我们需要读取Excel文件。在Java中,可以使用Apache POI库来处理Microsoft Office格式的文件,...

    spire.xls.free

    1. **读取Excel文件**:Spire.XLS能够读取不同版本的Excel文件,包括xls和xlsx格式,解析其中的数据、样式、图表等信息。 2. **转换为PDF**:在读取Excel文件后,它可以将整个工作簿或者单个工作表转换为高质量的...

    Database_Interface.rar_*.xls_java excel_javadbf foxpro_ojdbc DB

    在这个特定的接口中,开发者首先会使用Java Excel API或JDBF库来读取.xls或.dbf文件,解析出其中的数据。然后,通过JDBC驱动,将这些数据转化为适合Oracle数据库的格式,并使用SQL语句将它们批量插入到目标表中。...

    poi3.8版本jar包及解析Excel对应Java代码

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Excel(.xls和.xlsx)、Word(.doc和.docx)等。在Java环境中,Apache POI库提供了丰富的API,使得开发者能够方便地读取、写入以及操作这些...

    ssh处理xls

    在这个“ssh处理xls”的项目中,我们主要关注的是如何在SSH框架下处理Excel文件,尤其是读取和写入XLS格式的数据。 首先,Spring作为应用的依赖注入容器,负责管理Bean和协调各种服务。在处理Excel时,Spring可以...

    java_poi.rar

    OOXML是Microsoft推出的一种新的文件格式标准,与老版的二进制格式(.xls)相比,它更易于解析和编程。 3. **poi-ooxml-schemas-3.9.jar**: 包含了OOXML的XML模式定义,使得Java程序可以理解和操作OOXML文件的结构...

    JAVA实现Excel导入数据库

    2. **读取Excel文件**: 使用Apache POI,我们可以创建`HSSFWorkbook`(针对.xls文件)或`XSSFWorkbook`(针对.xlsx文件)对象来读取Excel文件。你需要指定文件路径,然后打开工作簿,接着获取工作表,最后遍历行和...

    tika提取文本内容

    Tika是一款强大的开源Java库,专门用于从各种文件格式中提取元数据和文本内容。它在信息技术领域,尤其是文本处理和信息检索中扮演着重要角色。Tika利用Apache的MIME类型识别系统来识别文件类型,并且能够处理大量的...

    android String.xml Excel 相互转换工具

    通过将`String.xml`文件转换为Excel,开发者可以在更直观的界面中编辑多语言文本,还可以利用Excel的公式和功能进行批量处理。 一些工具如`Android String CSV/Excel Exporter`、`Android String Resource Editor`...

    C++读取Excel(源文件)

    `.xls`文件通常需要解析Biff记录,而`.xlsx`文件则是一个包含XML文件的ZIP归档。 3. **数据解析**:对于`.xls`文件,解析Biff记录后,可以找到工作表、单元格数据等信息。对于`.xlsx`文件,解压后找到`/xl/...

    POI解析excel并存入mysqlのdemo

    Apache POI 是一个广泛使用的 Java 库,它允许程序员创建、修改和显示 Microsoft Office 格式的文件,包括 Excel(XLS 和 XLSX)、Word(DOC 和 DOCX)以及 PowerPoint(PPT 和 PPTX)。在 Excel 处理方面,POI ...

    poi3.9打包

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Excel(.xls 和 .xlsx)、Word(.doc 和 .docx)等。在Java环境中,Apache POI 提供了API,使得开发者能够方便地读取、写入以及操作这些文件...

    一个导出Excel非常快的类

    为了快速导出大量数据,Java通常会使用Apache POI库,它允许直接操作Excel文件格式(如`.xlsx`的OOXML和`.xls`的老式BIFF格式)。通过批处理写入操作,避免频繁的磁盘IO操作,可以显著提高性能。例如,使用`...

    java用poi读取和创建excel

    Apache POI是一个流行的开源项目,它允许开发者使用Java来处理Microsoft Office格式的文件,包括Excel(.xlsx和.xls)。 1. **POI库介绍**: Apache POI提供了HSSF和XSSF两个API,分别用于处理老版本的.BIFF8格式...

    java实现excel导入导出.pdf

    这可以通过迭代工作表、行和单元格来完成,然后解析单元格内容并映射到相应的Java对象字段。 - 使用 `Workbook.getNumberOfSheets()` 获取工作簿中的工作表数量,再用 `Workbook.getSheetAt(int index)` 获取指定...

    导出 excelUtil

    此外,它也常用于数据导入,允许用户上传Excel文件以批量插入或更新数据库中的数据。 总的来说,理解并掌握如何在Java中导出Excel文件是一项实用的技能,尤其是在需要与用户交互并处理大量数据的业务场景下。通过...

    java读取word-excel-ppt文件代码

    Java编程语言提供了多种库来处理不同的文件类型,如Word、Excel和PowerPoint,...通过它们,开发者可以在程序中轻松读取、解析和操作这些文件,实现自动化办公任务、数据分析或其他需要处理这些格式文件的应用场景。

Global site tag (gtag.js) - Google Analytics