使用POI生成Excel檔案,可以自動調整excel列寬
在開發中經常需要用到對Excel檔案的操作,現在根據網上的資料整理如下:
import java.io.FileOutputStream;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
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.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFComment;
import org.apache.poi.hssf.usermodel.HSSFPatriarch;
import org.apache.poi.hssf.usermodel.HSSFClientAnchor;
public class PoiCreateExcelTest {
public static void main(String[] args) {
/**
* @see <a href="http://poi.apache.org/hssf/quick-guide.html#NewWorkbook">For more</a>
*/
// 建立新的Excel 工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
// 在Excel工作簿中建一工作表,其名為預設值, 也可以指定Sheet名稱
HSSFSheet sheet = workbook.createSheet();
//HSSFSheet sheet = workbook.createSheet("SheetName");
// 用於格式化單元格的資料
HSSFDataFormat format = workbook.createDataFormat();
// 建立新行(row),並將單元格(cell)放入其中. 行號從0開始計算.
HSSFRow row = sheet.createRow((short) 1);
// 設定字型
HSSFFont font = workbook.createFont();
font.setFontHeightInPoints((short) 20); //字型高度
font.setColor(HSSFFont.COLOR_RED); //字型顏色
font.setFontName("黑體"); //字型
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); //寬度
font.setItalic(true); //是否使用斜體
// font.setStrikeout(true); //是否使用劃線
// 設定單元格型別
HSSFCellStyle cellStyle = workbook.createCellStyle();
cellStyle.setFont(font);
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); //水平佈局:居中
cellStyle.setWrapText(true);
// 新增單元格註釋
// 建立HSSFPatriarch物件,HSSFPatriarch是所有註釋的容器.
HSSFPatriarch patr = sheet.createDrawingPatriarch();
// 定義註釋的大小和位置,詳見文件
HSSFComment comment = patr.createComment(new HSSFClientAnchor(0, 0, 0, 0, (short)4, 2, (short) 6, 5));
// 設定註釋內容
comment.setString(new HSSFRichTextString("可以在POI中新增註釋!"));
// 設定註釋作者. 當滑鼠移動到單元格上是可以在狀態列中看到該內容.
comment.setAuthor("Xuys.");
// 建立單元格
HSSFCell cell = row.createCell((short) 1);
HSSFRichTextString hssfString = new HSSFRichTextString("Hello World!");
cell.setCellValue(hssfString);//設定單元格內容
cell.setCellStyle(cellStyle);//設定單元格樣式
cell.setCellType(HSSFCell.CELL_TYPE_STRING);//指定單元格格式:數值、公式或字串
cell.setCellComment(comment);//新增註釋
//格式化資料
row = sheet.createRow((short) 2);
cell = row.createCell((short) 2);
cell.setCellValue(11111.25);
cellStyle = workbook.createCellStyle();
cellStyle.setDataFormat(format.getFormat("0.0"));
cell.setCellStyle(cellStyle);
row = sheet.createRow((short) 3);
cell = row.createCell((short) 3);
cell.setCellValue(9736279.073);
cellStyle = workbook.createCellStyle();
cellStyle.setDataFormat(format.getFormat("#,##0.0000"));
cell.setCellStyle(cellStyle);
sheet.autoSizeColumn((short)0); //調整第一列寬度
sheet.autoSizeColumn((short)1); //調整第二列寬度
sheet.autoSizeColumn((short)2); //調整第三列寬度
sheet.autoSizeColumn((short)3); //調整第四列寬度
try {
FileOutputStream fileOut = new FileOutputStream("C:/3.xls");
workbook.write(fileOut);
fileOut.close();
} catch (Exception e) {
System.out.println(e.toString());
}
}
}
如果編譯器提示沒有autoSizeColumn這個方法,那可能是你的poi版本太低的緣故,我用的是poi3.0版本。
網上發現這個文章,轉載過來,備份..
原網址:http://www.cnblogs.com/azhqiang/p/4111197.html
相關文章
- POI生成EXCEL檔案Excel
- POI操作Excel,如何讓行與寬自動調整以適合最合適的高與寬?Excel
- java使用poi生成excelJavaExcel
- JAVA使用poi匯出Excel,合併單元格,設定自動列寬JavaExcel
- Java POI匯入Excel檔案JavaExcel
- POI匯出excel檔案加水印Excel
- 流式生成Excel檔案Excel
- java 生成 excel檔案JavaExcel
- apache---poi讀取和建立excel檔案ApacheExcel
- 用php生成excel檔案 (轉)PHPExcel
- 使用Selenium+POI實現Excel自動化批量查單詞Excel
- 讀取本地Excel檔案生成echartsExcelEcharts
- JXL包大解析;Java程式生成excel檔案和解析excel檔案內容JavaExcel
- POI 匯出ExcelExcel
- POI 操作Excel 整理Excel
- Apache POI 操作ExcelApacheExcel
- Apache POI 建立 ExcelApacheExcel
- jQuery拖動調整左右兩列寬度jQuery
- Excel如何調整圖片大小Excel
- Excel表格的行高與列寬Excel
- EXCEL,POI,EASYEXCEL的使用和比較Excel
- 不升級 POI 版本,如何生成符合新版標準的Excel 2007檔案Excel
- python讀取和生成excel檔案PythonExcel
- excel自動生成連續日期 excel怎麼設定日期遞增Excel
- Java 根據模板生成 PDF 檔案 以及 excel 檔案JavaExcel
- poi解析Excel內容Excel
- poi的excel匯出Excel
- EXCEL豎列自動求和如何設定 豎列的excel怎樣計算求和Excel
- .txt檔案透過Excel拆分行/列Excel
- POI的使用及匯出excel報表Excel
- POI 使用SAX讀取大資料Excel大資料Excel
- Oracle通過SQL Plus生成CSV、Excel檔案OracleSQLExcel
- 使用畫素單位設定 EXCEL 列寬或行高Excel
- excel豎列自動求和快捷鍵 excel下拉太長了怎樣求和Excel
- excel兩列亂序姓名如何一一對應 excel 兩列資料自動配對Excel
- Java操作Excel:POI和EasyExcelJavaExcel
- Apache POI處理Excel文件ApacheExcel
- Java架構-Apache POI ExcelJava架構ApacheExcel