<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    新的起步,做好工作總結

    J2EE相關技術總結

    常用鏈接

    統計

    最新評論

    2012年8月20日 #

    POI操作

    POI中可能會用到一些需要設置EXCEL單元格格式的操作小結:

    先獲取工作薄對象:

    HSSFWorkbook wb = new HSSFWorkbook();

    HSSFSheet sheet = wb.createSheet();

    HSSFCellStyle setBorder = wb.createCellStyle();

    一、設置背景色:

    setBorder.setFillForegroundColor((short) 13);// 設置背景色

    setBorder.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

    二、設置邊框:

    setBorder.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下邊框

    setBorder.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左邊框

    setBorder.setBorderTop(HSSFCellStyle.BORDER_THIN);//上邊框

    setBorder.setBorderRight(HSSFCellStyle.BORDER_THIN);//右邊框

    三、設置居中:

    setBorder.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 居中

    四、設置字體:

    HSSFFont font = wb.createFont();

    font.setFontName("黑體");

    font.setFontHeightInPoints((short) 16);//設置字體大小

    HSSFFont font2 = wb.createFont();

    font2.setFontName("仿宋_GB2312");

    font2.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗體顯示

    font2.setFontHeightInPoints((short) 12);

    setBorder.setFont(font);//選擇需要用到的字體格式

    五、設置列寬:

    sheet.setColumnWidth(0, 3766); //第一個參數代表列id(從0開始),第2個參數代表寬度值

    六、設置自動換行:

    setBorder.setWrapText(true);//設置自動換行

    七、合并單元格:

    Region region1 = new Region(0, (short) 0, 0, (short) 6);

    //參數1:行號 參數2:起始列號 參數3:行號 參數4:終止列號

    sheet.addMergedRegion(region1);

    附一個完整的例子:

    package cn.com.util;

    import org.apache.poi.hssf.usermodel.HSSFCellStyle;

    import org.apache.poi.hssf.usermodel.HSSFFont;

    import org.apache.poi.hssf.usermodel.HSSFRichTextString;

    import org.apache.poi.hssf.usermodel.HSSFWorkbook;

    import org.apache.poi.hssf.usermodel.HSSFSheet;

    import org.apache.poi.hssf.usermodel.HSSFRow;

    import org.apache.poi.hssf.usermodel.HSSFCell;

    import org.apache.poi.hssf.util.CellRangeAddress;

    import org.apache.poi.hssf.util.Region;

    import org.apache.poi.ss.usermodel.CellStyle;

    import java.io.FileOutputStream;

    import javax.servlet.http.HttpServlet;

    public class CreateXL extends HttpServlet {

    /** Excel 文件要存放的位置,假定在D盤下 */

    public static String outputFile = "c:test.xls";

    private void cteateCell(HSSFWorkbook wb, HSSFRow row, short col, String val) {

    HSSFCell cell = row.createCell(col);

    // cell.setEncoding(HSSFCell.ENCODING_UTF_16);

    cell.setCellValue(val);

    HSSFCellStyle cellstyle = wb.createCellStyle();

    cellstyle.setAlignment(HSSFCellStyle.ALIGN_CENTER_SELECTION);

    cell.setCellStyle(cellstyle);

    }

    public static void main(String argv[]) {

    try {

    // 創建新的Excel 工作簿

    HSSFWorkbook workbook = new HSSFWorkbook();

    // 設置字體

    HSSFFont font = workbook.createFont();

    // font.setColor(HSSFFont.COLOR_RED);

    font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);

    font.setFontHeightInPoints((short) 14);

    // HSSFFont font2 = workbook.createFont();

    // font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);

    // font.setFontHeightInPoints((short)14);

    // 設置樣式

    HSSFCellStyle cellStyle = workbook.createCellStyle();

    cellStyle.setFont(font);

    cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);

    // HSSFCellStyle cellStyle2= workbook.createCellStyle();

    // cellStyle.setFont(font2);

    // cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);

    // 在Excel工作簿中建一工作表,其名為缺省值

    // 如要新建一名為"月報表"的工作表,其語句為:

    HSSFSheet sheet = workbook.createSheet("月報表");

    CellRangeAddress cellRangeAddress = new CellRangeAddress(0, 0, 0,

    11);

    sheet.addMergedRegion(cellRangeAddress);

    //第一行

    // 在索引0的位置創建行(最頂端的行)

    HSSFRow row = sheet.createRow(0);

    // 在索引0的位置創建單元格(左上端)

    HSSFCell cell = row.createCell(0);

    // 定義單元格為字符串類型

    cell.setCellType(HSSFCell.CELL_TYPE_STRING);

    cell.setCellStyle(cellStyle);

    // 在單元格中輸入一些內容

    cell.setCellValue(new HSSFRichTextString("北京億卡聯科技發展有限公司小區門禁維修月報表"));

    //第二行

    cellRangeAddress = new CellRangeAddress(1, 1, 3, 6);

    sheet.addMergedRegion(cellRangeAddress);

    row = sheet.createRow(1);

    HSSFCell datecell = row.createCell(3);

    datecell.setCellType(HSSFCell.CELL_TYPE_STRING);

    datecell.setCellStyle(cellStyle);

    datecell.setCellValue("時間間隔xxxxx");

    cellRangeAddress = new CellRangeAddress(1, 1, 9,

    10);

    sheet.addMergedRegion(cellRangeAddress);

    row.createCell(9).setCellValue("單位:元");

    //第三行

    row=sheet.createRow(2);

    row.createCell(0).setCellValue("一、");

    row.createCell(1).setCellValue("基本資料");

    //第4行

    row=sheet.createRow(3);

    row.createCell(1).setCellValue("小區名稱:");

    cellRangeAddress=new CellRangeAddress(3,3,2,11);

    sheet.addMergedRegion(cellRangeAddress);

    row.createCell(2).setCellValue("xxxxx");

    //第5行

    row=sheet.createRow(4);

    row.createCell(1).setCellValue("座落地點:");

    cellRangeAddress=new CellRangeAddress(4,4,2,11);

    sheet.addMergedRegion(cellRangeAddress);

    row.createCell(2).setCellValue("xxxxx");

    //第6行

    row=sheet.createRow(5);

    row.createCell(1).setCellValue("建成年月:");

    cellRangeAddress=new CellRangeAddress(5,5,2,4);

    sheet.addMergedRegion(cellRangeAddress);

    row.createCell(2).setCellValue("年月日:xxxxx");

    row.createCell(5).setCellValue("聯系人");

    cellRangeAddress=new CellRangeAddress(5,5,6,8);

    sheet.addMergedRegion(cellRangeAddress);

    row.createCell(6).setCellValue("XXX");

    row.createCell(9).setCellValue("電話");

    cellRangeAddress=new CellRangeAddress(5,5,10,11);

    sheet.addMergedRegion(cellRangeAddress);

    row.createCell(10).setCellValue("XXX");

    //第7行

    row=sheet.createRow(6);

    row.createCell(1).setCellValue("住戶:");

    row.createCell(2).setCellValue("(XX)");

    row.createCell(3).setCellValue("(戶)");

    cellRangeAddress=new CellRangeAddress(6,6,4,5);

    sheet.addMergedRegion(cellRangeAddress);

    row.createCell(4).setCellValue("共計(      )");      

    row.createCell(6).setCellValue("幢");

    cellRangeAddress=new CellRangeAddress(6,6,7,8);

    sheet.addMergedRegion(cellRangeAddress);

    row.createCell(7).setCellValue("發卡張數");  

    cellRangeAddress=new CellRangeAddress(6,6,9,10);

    sheet.addMergedRegion(cellRangeAddress);

    row.createCell(9).setCellValue("xxxx");

    //第9行

    row=sheet.createRow(8);

    row.createCell(0).setCellValue("二、");

    cellRangeAddress=new CellRangeAddress(8,8,1,2);

    sheet.addMergedRegion(cellRangeAddress);

    row.createCell(1).setCellValue("維修用材料臺賬");

    row.createCell(6).setCellValue("三、");

    cellRangeAddress=new CellRangeAddress(8,8,7,9);

    sheet.addMergedRegion(cellRangeAddress);

    row.createCell(7).setCellValue("維修工時記錄");

    //第10行

    row=sheet.createRow(9);

    row.createCell(0).setCellValue("日期");

    row.createCell(1).setCellValue("維修事項");

    row.createCell(2).setCellValue("材料清單");

    row.createCell(3).setCellValue("數量");

    row.createCell(4).setCellValue("單價");

    row.createCell(5).setCellValue("材料金額");

    row.createCell(7).setCellValue("日期");

    row.createCell(8).setCellValue("技工");

    row.createCell(9).setCellValue("工時數");

    row.createCell(10).setCellValue("單價");

    row.createCell(11).setCellValue("工時金額");

    //填充數據

    for (int i = 0; i < 10; i++) {

    row=sheet.createRow(9+i+1);

    row.createCell(0).setCellValue("日期");

    row.createCell(1).setCellValue("維修事項");

    row.createCell(2).setCellValue("材料清單");

    row.createCell(3).setCellValue("數量");

    row.createCell(4).setCellValue("單價");

    row.createCell(5).setCellValue("材料金額");

    row.createCell(7).setCellValue("日期");

    row.createCell(8).setCellValue("技工");

    row.createCell(9).setCellValue("工時數");

    row.createCell(10).setCellValue("單價");

    row.createCell(11).setCellValue("工時金額");

    }

    //第n+10行

    row=sheet.createRow(9+10+1);

    //cellRangeAddress=new CellRangeAddress(19,19,0,4);

    //sheet.addMergedRegion(cellRangeAddress);

    row.createCell(0).setCellValue("累計:");

    row.createCell(1).setCellValue("xxx");

    row.createCell(7).setCellValue("累計:");

    row.createCell(8).setCellValue("xxx");

    // 新建一輸出文件流

    FileOutputStream fOut = new FileOutputStream(outputFile);

    // 把相應的Excel 工作簿存盤

    workbook.write(fOut);

    fOut.flush();

    // 操作結束,關閉文件

    fOut.close();

    System.out.println("文件生成...");

    } catch (Exception e) {

    System.out.println("已運行 xlCreate() : " + e);

    }

    }

    }

    posted @ 2012-08-20 15:09 史明明 閱讀(144) | 評論 (0)編輯 收藏

    僅列出標題  
    主站蜘蛛池模板: 一级毛片免费观看不卡的| 免费看搞黄视频网站| 久久久久成人片免费观看蜜芽| 美丽的姑娘免费观看在线播放| 日日AV拍夜夜添久久免费| 亚洲精品无码久久久久去q| 国产亚洲玖玖玖在线观看| 中文字幕手机在线免费看电影 | 亚洲精品无码AV人在线播放| 亚洲中文无码av永久| 特级做a爰片毛片免费看| 久草视频免费在线| 国产亚洲精品无码拍拍拍色欲| 亚洲欧洲在线播放| 皇色在线免费视频| 成年女人毛片免费视频| 久久综合九九亚洲一区| 猫咪免费人成在线网站| 国产成人无码免费看视频软件| 亚洲午夜福利717| MM1313亚洲精品无码久久| 久久久久久精品成人免费图片 | 亚洲精品线路一在线观看| 亚洲av一本岛在线播放| 男人的天堂网免费网站| 亚洲A丁香五香天堂网| 亚洲一区二区三区高清在线观看 | 无码毛片一区二区三区视频免费播放 | 亚洲视频网站在线观看| 一区二区3区免费视频| 日韩免费一级毛片| 亚洲国产美女精品久久久久| 大地资源中文在线观看免费版| 免费一级e一片在线播放| 亚洲中文字幕无码mv| **aaaaa毛片免费| 亚洲AV成人无码久久精品老人| 四虎影视在线看免费观看| 热99re久久免费视精品频软件| 亚洲午夜国产精品| 最近中文字幕国语免费完整 |