Java利用POI导入excel表格并将数据存到数据库的问题

2024年11月15日 01:18
有3个网友回答
网友(1):

当有合并表格的情况下,认为是左上角单元格的数据,意思就是 标题 认为是a1,但是当你循环遍历这样的合并表格的话,数据是会重复的,即把合并的单元格拆分后每个单元格的数据都是一样的,这样就需要你判断过滤了。至于你这种单元格拼接的话就没有什么办法了,读取出单元格数据循环判断,然后存入数据库就行了

网友(2):

首先必须了解poi的对excel单元格坐标的定义
数据21的坐标是 1,3
数据 22-1 坐标是 2,3 数据23-1坐标是3,3
数据22-2 坐标是 3,4 数据23-2 坐标是 4,4
数据31坐标是 1,5
理解了吗???
你应该先了解这样的excel是怎么生成的

网友(3):

给你一个例子,自己调哈,希望对excel有深点了解哈
例子很简单,互相学习哈~
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;

//你读取一个excel内容,然后整合一下里面数据,然后再生成一个新的excel。

public class A {

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

//读取excel:
InputStream is = new FileInputStream("d:\\test2.xls");
POIFSFileSystem fs = new POIFSFileSystem(is);
HSSFWorkbook wb = new HSSFWorkbook(fs);

//读取sheet,读取sheet里面第一行第一列内容
HSSFSheet sheet = wb.getSheetAt(0);
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short) 0);
String s = cell.getStringCellValue();

System.out.println(s);

//...内容组合自己玩~

//比如上面组合好了一个String S2

//写入一个excel 比如 test3.xls
FileOutputStream fos = new FileOutputStream("d:\\test3.xls");

HSSFWorkbook wb2 = new HSSFWorkbook();
HSSFSheet hsSheet = wb2.createSheet("TestReport");
HSSFRow hsRow1 = hsSheet.createRow(0);//建行
hsRow1.setHeight((short) 500);
HSSFCell hsCell11 = hsRow1.createCell((short) 0);
hsCell11.setEncoding(HSSFCell.ENCODING_UTF_16);
hsCell11.setCellValue(s+"TESTVALUE");
wb2.write(fos);
fos.close();
}
}

是这么玩吧~