POI操作Excel文件-中級篇
1、遍歷workbook
2、得到列和單元格
3、設定sheet名稱和單元格內容為中文
4、單元格內容未公式或數值,可以這樣讀寫
5、設定列寬、行高
6、新增區域,合併單元格
7、常用方法
根據單元格不同屬性返回字串數值
8、常用單元格邊框格式
虛線HSSFCellStyle.BORDER_DOTTED
實線HSSFCellStyle.BORDER_THIN
9、設定字型和內容位置
10、插入圖片
論壇裡看到的
- // load原始檔
- POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(filePath));
- HSSFWorkbook wb = new HSSFWorkbook(fs);
- for (int i = 0; i < wb.getNumberOfSheets(); i++) {
- HSSFSheet sheet = wb.getSheetAt(i);
- for (int i = sheet.getFirstRowNum(); i < sheet.getLastRowNum(); i ++) {
- HSSFRow row = sheet.getRow(i);
- if (row != null) {
- 。。。操作}
- }
- }
- // 目標檔案
- FileOutputStream fos = new FileOutputStream(objectPath);
- //寫檔案
- swb.write(fos);
- fos.close();
2、得到列和單元格
- HSSFRow row = sheet.getRow(i);
- HSSFCell cell = row.getCell((short) j);
3、設定sheet名稱和單元格內容為中文
- wb.setSheetName(n, "中文",HSSFCell.ENCODING_UTF_16);
- cell.setEncoding((short) 1);
- cell.setCellValue("中文");
4、單元格內容未公式或數值,可以這樣讀寫
- cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
- cell.getNumericCellValue()
5、設定列寬、行高
- sheet.setColumnWidth((short)column,(short)width);
- row.setHeight((short)height);
6、新增區域,合併單元格
- Region region = new Region((short)rowFrom,(short)columnFrom,(short)rowTo,(short)columnTo);
- sheet.addMergedRegion(region);
- //得到所有區域
- sheet.getNumMergedRegions()
7、常用方法
根據單元格不同屬性返回字串數值
- public String getCellStringValue(HSSFCell cell) {
- String cellValue = "";
- switch (cell.getCellType()) {
- case HSSFCell.CELL_TYPE_STRING:
- cellValue = cell.getStringCellValue();
- if(cellValue.trim().equals("")||cellValue.trim().length()<=0)
- cellValue=" ";
- break;
- case HSSFCell.CELL_TYPE_NUMERIC:
- cellValue = String.valueOf(cell.getNumericCellValue());
- break;
- case HSSFCell.CELL_TYPE_FORMULA:
- cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
- cellValue = String.valueOf(cell.getNumericCellValue());
- break;
- case HSSFCell.CELL_TYPE_BLANK:
- cellValue=" ";
- break;
- case HSSFCell.CELL_TYPE_BOOLEAN:
- break;
- case HSSFCell.CELL_TYPE_ERROR:
- break;
- default:
- break;
- }
- return cellValue;
- }
8、常用單元格邊框格式
虛線HSSFCellStyle.BORDER_DOTTED
實線HSSFCellStyle.BORDER_THIN
- public static HSSFCellStyle getCellStyle(short type)
- {
- HSSFWorkbook wb = new HSSFWorkbook();
- HSSFCellStyle style = wb.createCellStyle();
- style.setBorderBottom(type);//下邊框
- style.setBorderLeft(type);//左邊框
- style.setBorderRight(type);//右邊框
- style.setBorderTop(type);//上邊框
- return style;
- }
9、設定字型和內容位置
- HSSFFont f = wb.createFont();
- f.setFontHeightInPoints((short) 11);//字號
- f.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);//加粗
- style.setFont(f);
- style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//左右居中
- style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//上下居中
- style.setRotation(short rotation);//單元格內容的旋轉的角度
- HSSFDataFormat df = wb.createDataFormat();
- style1.setDataFormat(df.getFormat("0.00%"));//設定單元格資料格式
- cell.setCellFormula(string);//給單元格設公式
- style.setRotation(short rotation);//單元格內容的旋轉的角度
- cell.setCellStyle(style);
10、插入圖片
論壇裡看到的
- //先把讀進來的圖片放到一個ByteArrayOutputStream中,以便產生ByteArray
- ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
- BufferedImage bufferImg = ImageIO.read(new File("ok.jpg"));
- ImageIO.write(bufferImg,"jpg",byteArrayOut);
- //讀進一個excel模版
- FileInputStream fos = new FileInputStream(filePathName+"/stencil.xlt");
- fs = new POIFSFileSystem(fos);
- //建立一個工作薄
- HSSFWorkbook wb = new HSSFWorkbook(fs);
- HSSFSheet sheet = wb.getSheetAt(0);
- HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
- HSSFClientAnchor anchor = new HSSFClientAnchor(0,0,1023,255,(short) 0,0,(short)10,10);
- patriarch.createPicture(anchor , wb.addPicture(byteArrayOut.toByteArray(),HSSFWorkbook.PICTURE_TYPE_JPEG));
相關文章
- Apache POI處理Excel文件ApacheExcel
- POI匯入Excel中文API文件ExcelAPI
- Java操作Excel:POI和EasyExcelJavaExcel
- Springboot操作Poi進行Excel匯入Spring BootExcel
- Java之POI操作Excel表-匯入匯出JavaExcel
- Apache POI 建立 ExcelApacheExcel
- poi批量修改Excel文件,修改工作表中的目標單元格資料Excel
- Aapche POI java excel 操作工具包入門JavaExcel
- 『中級篇』容器的操作(20)
- 利用poi將Html中table轉為ExcelHTMLExcel
- poi 操作 PPT,針對 PPTX--圖表篇
- POI生成EXCEL檔案Excel
- poi解析Excel內容Excel
- poi的excel匯出Excel
- java使用poi生成excelJavaExcel
- Java之POI操作,封裝ExcelUtil實現Excel匯入匯出Java封裝Excel
- Java架構-Apache POI ExcelJava架構ApacheExcel
- springboot poi匯出excel表格Spring BootExcel
- 使用Java通過POI讀取EXCEL中的資料JavaExcel
- poi 匯出Excel java程式碼ExcelJava
- Java POI匯入Excel檔案JavaExcel
- POI 分批讀取Excel資料Excel
- POI設定excel單元格Excel
- 不升級 POI 版本,如何生成符合新版標準的Excel 2007檔案Excel
- poi操作excel,複製sheet,複製行,複製單元格,複製styleExcel
- EXCEL,POI,EASYEXCEL的使用和比較Excel
- POI匯出excel檔案加水印Excel
- Java如何利用poi建立excel並寫入資料,看這篇就夠啦~JavaExcel
- POI的使用及匯出excel報表Excel
- .NET Core C# 中級篇2-7 檔案操作C#
- C#中PDF文件操作類C#
- 一篇文章帶你使用 Python 將 txt 文件內容儲存到 excel 表中PythonExcel
- xlsxwriter 操作 ExcelExcel
- java操作excelJavaExcel
- EXCEL操作公式Excel公式
- python操作excelPythonExcel
- 怎麼翻譯整篇Excel文件?Excel文件翻譯一招搞定Excel
- Android粒子篇之Bitmap畫素級操作Android