干嘛还那么麻烦的用poi读数据 然后又全部写到新文件。直接用IO流实现文件的读写不就得啦。
100%地抄的?
没必要使用POI了,当二进制文件抄
你是想读取一个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();
}
}
是这么玩吧~