乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel jar包

excel jar包

作者:乔山办公网日期:

返回目录:excel表格制作

java我导入两个操作excel表的pom文件之后出现包中没有CellType?


出现这种问题可能多种原因,下面是举例说明


POI版本为3.8;

jar包导入之后XSSFWorkbook可以正常使用了,但出现了The import org.apache.poi.ss.usermodel.CellType cannot be resolved

代码中

cellRowName.setCellType(CellType.STRING); // 设置单元格值的类型

style.setAlignment(HorizontalAlignment.CENTER); // 设置水平对齐的样式为居中对齐;

报错,原来是代码所用POI版本低的缘故;

高版本的import org.apache.poi.ss.usermodel.CellType变为了import org.apache.poi.ss.usermodel.Cell;

同时cellRowName.setCellType(CellType.STRING);变为了cellRowName.setCellType(Cell.CELL_TYPE_STRING);

Java如何操纵EXCEL?


这里介绍一种简单的方式—poi,是Apache下的一个函数库,提供了一系列的api来供java程序员操作Microsoft Office文档,只要引入这个jar包,就可以快速完成对Excel文件的读取和写入,下面我简单介绍一下这个jar包的使用,以及它如何操纵Excel文件,实验环境win10+jdk1.8+eclipse,主要内容如下:

1.下载poi,这个直接到官网上下载就行,目前最新版本是4.0.1,直接点击下载,如下:

下载完成后,我们解压这个文件,文件内容如下,这里我们只需要poi-4.0.1.jar这个jar包就行:

2.在项目中引入这个jar包,接着我们就可以编写相关代码进行测试了,主要代码及截图如下:

  • 写入Excel文件,主要代码如下,很简单,一个一个单元格写入数据就行:

点击运行程序,就会在当前目录下生成一个write.xls文件,内容如下,已经成功写入数据:

  • 读取Excel文件,主要代码如下,一行一行遍历读取内容就行:

点击运行程序,读取的数据如下,已经成功获取到Excel数据:

至此,我们就完成了利用Java来操纵Excel文件。总的来说,整个过程不难,借助poi,我们可以快速完成对Excel文件的读写,只要你有一定的Java基础,熟悉一下相关代码和示例,多练习几遍,很快就能掌握的,当然,你也可以使用其他方法来操作excel,像jxl等,也都可以,网上也有相关教程和资料,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言。

有什么软件可以随意提取Excel表格中的数据?


推荐你使用Java进行开发,通过Apache POI开源项目实现对Excel表格的数据读取:

  1. 下载POI4.1.0:

    https://www.apache.org/dyn/closer.lua/poi/release/bin/poi-bin-4.1.0-20190412.zip

    并将jar包导入项目工程。

  2. 实现代码:

public class ExcelOperate {

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

File file = new File("ExcelDemo.xls");

String[][] result = getData(file, 1);

int rowLength = result.length;

for(int i=0;i

for(int j=0;j

System.out.print(result[i][j]+"\t\t");

}

System.out.println();

}

}

/**

* 读取Excel的内容,第一维数组存储的是一行中格列的值,二维数组存储的是多少个行

* @param file 读取数据的源Excel

* @param ignoreRows 读取数据忽略的行数,比喻行头不需要读入 忽略的行数为1

* @return 读出的Excel中数据的内容

* @throws FileNotFoundException

* @throws IOException

*/

public static String[][] getData(File file, int ignoreRows)

throws FileNotFoundException, IOException {

List result = new ArrayList();

int rowSize = 0;

BufferedInputStream in = new BufferedInputStream(new FileInputStream(

file));

// 打开HSSFWorkbook

POIFSFileSystem fs = new POIFSFileSystem(in);

HSSFWorkbook wb = new HSSFWorkbook(fs);

HSSFCell cell = null;

for (int sheetIndex = 0; sheetIndex < wb.getNumberOfSheets(); sheetIndex++) {

HSSFSheet st = wb.getSheetAt(sheetIndex);

// 第一行为标题,不取

for (int rowIndex = ignoreRows; rowIndex <= st.getLastRowNum(); rowIndex++) {

HSSFRow row = st.getRow(rowIndex);

if (row == null) {

continue;

}

int tempRowSize = row.getLastCellNum() + 1;

if (tempRowSize > rowSize) {

rowSize = tempRowSize;

}

String[] values = new String[rowSize];

Arrays.fill(values, "");

boolean hasValue = false;

for (short columnIndex = 0; columnIndex <= row.getLastCellNum(); columnIndex++) {

String value = "";

cell = row.getCell(columnIndex);

if (cell != null) {

// 注意:一定要设成这个,否则可能会出现乱码

cell.setEncoding(HSSFCell.ENCODING_UTF_16);

switch (cell.getCellType()) {

case HSSFCell.CELL_TYPE_STRING:

value = cell.getStringCellValue();

break;

case HSSFCell.CELL_TYPE_NUMERIC:

if (HSSFDateUtil.isCellDateFormatted(cell)) {

Date date = cell.getDateCellValue();

if (date != null) {

value = new SimpleDateFormat("yyyy-MM-dd")

.format(date);

} else {

value = "";

}

} else {

value = new DecimalFormat("0").format(cell

.getNumericCellValue());

}

break;

case HSSFCell.CELL_TYPE_FORMULA:

// 导入时如果为公式生成的数据则无值

if (!cell.getStringCellValue().equals("")) {

value = cell.getStringCellValue();

} else {

value = cell.getNumericCellValue() + "";

}

break;

case HSSFCell.CELL_TYPE_BLANK:

break;

case HSSFCell.CELL_TYPE_ERROR:

value = "";

break;

case HSSFCell.CELL_TYPE_BOOLEAN:

value = (cell.getBooleanCellValue() == true ? "Y"

: "N");

break;

default:

value = "";

}

}

if (columnIndex == 0 && value.trim().equals("")) {

break;

}

values[columnIndex] = rightTrim(value);

hasValue = true;

}

if (hasValue) {

result.add(values);

}

}

}

in.close();

String[][] returnArray = new String[result.size()][rowSize];

for (int i = 0; i < returnArray.length; i++) {

returnArray[i] = (String[]) result.get(i);

}

return returnArray;

}

/**

* 去掉字符串右边的空格

* @param str 要处理的字符串

* @return 处理后的字符串

*/

public static String rightTrim(String str) {

if (str == null) {

return "";

}

int length = str.length();

for (int i = length - 1; i >= 0; i--) {

if (str.charAt(i) != 0x20) {

break;

}

length--;

}

return str.substring(0, length);

}

}

Java如何轻松读写Excel表格?都有哪些方式可供参考?


这里介绍2种Java读写Excel的方式,一种是jxl,一种是poi,这2种方式都可以快速读写Excel文件,下面我简单介绍一下实现过程,实验环境win10+jdk1.8+eclipse,主要内容如下:

jxl读写excel文件

这是简单的Java读写excel文件的方式,纯Java写的,跨平台,对中文支持较好,可以快速处理excel文件,这里需要先导入jxl jar包,这个直接到网上搜就行,很多,下面我简单介绍一下这种方式

  • 读取Excel文件,测试代码如下,基本思路很简单,先获取Excel文件,然后获取工作簿,最后按行按列读取单元格就行:

点击运行这个程序,就可以读取Excel单元格内容,如下:

  • 写入Excel文件,测试代码如下,基本思路先创建Excel文件,然后创建工作簿,然后向对应单元格写入数据就行:

点击运行这个文件,就会在当前目录下生成一个excel文件,内容如下,就是刚才写入的内容:

poi读写Excel文件

相对于jxl来说,poi的功能更强大一些,除了可以读写Excel文件外,还支持Word的读写,这里也需要先导入poi jar包,这个直接到官网上下载就行,下面我简单介绍一下这种方式:

1.读取Excel文件,测试代码如下,基本思路先获取Excel文件,然后获取工作簿,最后读取单元格内容就行:

点击运行这个程序,已经成功读取Excel文件内容,如下:

2.写入Excel文件,测试代码如下,基本思路和上面一样,创建Excel文件,创建工作簿,写入数据:

点击运行程序,就会在当前目录下生成一个Excel文件,内容如下,就是刚才代码中写入的数据:

至此,我们就完成了利用Java来读写Excel文件。总的来说,这2种方式都非常简单,思路也很清晰,只要你有一点Java基础,熟悉一下相关代码,很快就能掌握的,网上也有相关教程和资料,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言。

本文标签:

相关阅读

  • excel jar包

  • 乔山办公网excel表格制作
  • java我导入两个操作excel表的pom文件之后出现包中没有CellType? 出现这种问题可能多种原因,下面是举例说明 POI版本为3.8; jar包导入之后XSSFWorkbook可以正常使用了,但出现了The import or
  • <em>poi</em> 需要哪些jar 包 <em>excel</em>

  • 乔山办公网excel表格制作
  • Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。  这里的方法支持导出excel至项目所在服务器,或导出至客e799bee5baa6e58685e5aeb
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网