用java的poi类读取一个excel表格的内容后再写入到一个新excel表格中的完整代码

是一个c/s程序 在本地读取后再保存到本地 excel数据量大
2024-12-02 14:34:29
推荐回答(3个)
回答1:

干嘛还那么麻烦的用poi读数据 然后又全部写到新文件。直接用IO流实现文件的读写不就得啦。

回答2:

100%地抄的?

没必要使用POI了,当二进制文件抄

回答3:

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

package aa;

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();
}
}

是这么玩吧~