package jp.co.misumi.mdm.batch.common.jobrunner;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import org.apache.poi.EncryptedDocumentException;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
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.ss.usermodel.WorkbookFactory;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import com.amazonaws.services.devicefarm.model.Test;
import jp.co.misumi.mdm.batch.common.def.BatchConstants;
import jp.co.misumi.mdm.core.common.excel.writer.ExcelWriterExt;public classDemo
{public static voidmain(String[] args) {//TODO Auto-generated method stub
try{
Test();
}catch(EncryptedDocumentException e)
{//TODO Auto-generated catch block
e.printStackTrace();
}catch(InvalidFormatException e)
{//TODO Auto-generated catch block
e.printStackTrace();
}catch(IOException e)
{//TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("---END---");
}public static voidTest() throws IOException, EncryptedDocumentException, InvalidFormatException
{//初始化输入流
InputStream inp;try{
XSSFWorkbook wb= null;try{
wb= new XSSFWorkbook("D:/workbook.xlsx");
}catch(Exception e)
{//TODO Auto-generated catch block
e.printStackTrace();
}//创建读取对应的文件生成对象//得到第0个工作薄
Sheet sheet = wb.getSheetAt(0);//得到第3行 小标从0开始,所以是2
Row row = sheet.getRow(2);//得到第三行第4个单元格 4D 小标从0开始所以是三
Cell cell = row.getCell(3);//查看该单元格是否定义,如果没有定义返回NULL//,否则返回一个逻辑上的单元格,如果没有则创建//??为什么需要先判断为空,因为如果该单元格已经//存在而且已经定义,如果你在创建,原来的单元格//将会被你重新创建的单元格覆盖,这样做可以节约//你的空间,因为没有重新创建对象
if (cell == null)
cell= row.createCell(3);//设置单元格的类型是String字符串文本类型
cell.setCellType(Cell.CELL_TYPE_STRING);//设定值//设置单元格中的值 使用有\n换行符
String xxx = "Use \n with word wrap on to create a new line";
cell.setCellValue(xxx);//cell.setCellValue("a test");
CellStyle cs=wb.createCellStyle();
cs.setWrapText(true);
cell.setCellStyle(cs);//增加行的高度以适应2行文本的高度,设置高度单位(像素)
row.setHeightInPoints((2*sheet.getDefaultRowHeightInPoints()));//调整该列宽度适应内容//sheet.autoSizeColumn((short)2);//重新写如文件
FileOutputStream fileOut = new FileOutputStream("D:/workbook1.xlsx");
wb.write(fileOut);
fileOut.close();
}finally{
}
}
}