国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Android修行手冊-POI操作中文API文檔

這篇具有很好參考價值的文章主要介紹了Android修行手冊-POI操作中文API文檔。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Unity3D特效百例 案例項目實戰(zhàn)源碼 Android-Unity實戰(zhàn)問題匯總
游戲腳本-輔助自動化 Android控件全解手冊 再戰(zhàn)Android系列
Scratch編程案例 軟考全系列 Unity3D學習專欄
藍橋系列 ChatGPT和AIGC

??關于作者

專注于Android/Unity和各種游戲開發(fā)技巧,以及各種資源分享(網(wǎng)站、工具、素材、源碼、游戲等)
有什么需要歡迎底部卡片私我,交流讓學習不再孤單。

poi 接口文檔,熬夜再戰(zhàn)Android系列,android,POI,API文檔,excel

??實踐過程

??一、 POI簡介

Apache POI是Apache軟件基金會的開放源碼函式庫,POI提供API給Java程序?qū)icrosoft Office格式檔案讀和寫的功能。

??二、 HSSF概況

HSSF 是Horrible SpreadSheet Format的縮寫,通過HSSF,你可以用純Java代碼來讀取、寫入、修改Excel文件。HSSF 為讀取操作提供了兩類API:usermodel和eventusermodel,即“用戶模型”和“事件-用戶模型”。

??三、 POI EXCEL文檔結(jié)構(gòu)類

HSSFWorkbook excel文檔對象
HSSFSheet excel的sheet HSSFRow excel的行
HSSFCell excel的單元格 HSSFFont excel字體
HSSFName 名稱 HSSFDataFormat 日期格式
HSSFHeader sheet頭
HSSFFooter sheet尾
HSSFCellStyle cell樣式
HSSFDateUtil 日期
HSSFPrintSetup 打印
HSSFErrorConstants 錯誤信息表

??四、 EXCEL常用操作方法

1、得到Excel常用對象

POIFSFileSystem fs=newPOIFSFileSystem(new FileInputStream("d:/test.xls"));
HSSFWorkbook wb = new HSSFWorkbook(fs);//得到Excel工作簿對象
HSSFSheet sheet = wb.getSheetAt(0);//得到Excel工作表對象
HSSFRow row = sheet.getRow(i);//得到Excel工作表的行
HSSFCell cell = row.getCell((short) j);//得到Excel工作表指定行的單元格
cellStyle = cell.getCellStyle();//得到單元格樣式

2、建立Excel常用對象

//芝麻粒兒 https://zhima.blog.csdn.net/
HSSFWorkbook wb = new HSSFWorkbook();//創(chuàng)建Excel工作簿對象
HSSFSheet sheet = wb.createSheet("new sheet");//創(chuàng)建Excel工作表對象
HSSFRow row = sheet.createRow((short)0); //創(chuàng)建Excel工作表的行
cellStyle = wb.createCellStyle();//創(chuàng)建單元格樣式
row.createCell((short)0).setCellStyle(cellStyle); //創(chuàng)建Excel工作表指定行的單元格
row.createCell((short)0).setCellValue(1); //設置Excel工作表的值

3、設置sheet名稱和單元格內(nèi)容

wb.setSheetName(1, "第一張工作表",HSSFCell.ENCODING_UTF_16);
cell.setEncoding((short) 1);
cell.setCellValue("單元格內(nèi)容");

4、取得sheet的數(shù)目

wb.getNumberOfSheets()

5、根據(jù)index取得sheet對象

HSSFSheet sheet = wb.getSheetAt(0);

6、取得有效的行數(shù)

int rowcount = sheet.getLastRowNum();

7、取得一行的有效單元格個數(shù)

row.getLastCellNum();

8、單元格值類型讀寫

cell.setCellType(HSSFCell.CELL_TYPE_STRING); //設置單元格為STRING類型
cell.getNumericCellValue();//讀取為數(shù)值類型的單元格內(nèi)容

9、設置列寬、行高

sheet.setColumnWidth((short)column,(short)width);
row.setHeight((short)height);

10、添加區(qū)域,合并單元格

Region region = new Region((short)rowFrom,(short)columnFrom,(short)rowTo
,(short)columnTo);//合并從第rowFrom行columnFrom列
sheet.addMergedRegion(region);// 到rowTo行columnTo的區(qū)域
//得到所有區(qū)域
sheet.getNumMergedRegions()

11、保存Excel文件

FileOutputStream fileOut = new FileOutputStream(path);
wb.write(fileOut);

12、根據(jù)單元格不同屬性返回字符串數(shù)值

//芝麻粒兒 https://zhima.blog.csdn.net/
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: //數(shù)值類型
        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;
}

13、常用單元格邊框格式

HSSFCellStyle style = wb.createCellStyle();
style.setBorderBottom(HSSFCellStyle.BORDER_DOTTED);//下邊框
style.setBorderLeft(HSSFCellStyle.BORDER_DOTTED);//左邊框
style.setBorderRight(HSSFCellStyle.BORDER_THIN);//右邊框
style.setBorderTop(HSSFCellStyle.BORDER_THIN);//上邊框

14、設置字體和內(nèi)容位置

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);//單元格內(nèi)容的旋轉(zhuǎn)的角度
HSSFDataFormat df = wb.createDataFormat();
style1.setDataFormat(df.getFormat("0.00%"));//設置單元格數(shù)據(jù)格式
cell.setCellFormula(string);//給單元格設公式
style.setRotation(short rotation);//單元格內(nèi)容的旋轉(zhuǎn)的角度

15、插入圖片

//芝麻粒兒 https://zhima.blog.csdn.net/
//先把讀進來的圖片放到一個ByteArrayOutputStream中,以便產(chǎn)生ByteArray
ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
BufferedImage bufferImg = ImageIO.read(new File("ok.jpg"));
ImageIO.write(bufferImg,"jpg",byteArrayOut);
FileInputStream fos = new FileInputStream(filePathName+"/stencil.xlt"); //讀進一個excel模版
fs = new POIFSFileSystem(fos);
HSSFWorkbook wb = new HSSFWorkbook(fs); //創(chuàng)建一個工作薄
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));

16、調(diào)整工作表位置

HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("format sheet");
HSSFPrintSetup ps = sheet.getPrintSetup();
sheet.setAutobreaks(true);
ps.setFitHeight((short)1);
ps.setFitWidth((short)1);

17、設置打印區(qū)域

HSSFSheet sheet = wb.createSheet("Sheet1");
wb.setPrintArea(0, "$A$1:$C$2");

18、標注腳注

HSSFSheet sheet = wb.createSheet("format sheet");
HSSFFooter footer = sheet.getFooter()
footer.setRight( "Page " + HSSFFooter.page() + " of " + HSSFFooter.numPages() );

19、在工作單中清空行數(shù)據(jù),調(diào)整行位置

HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("row sheet");
// Create various cells and rows for spreadsheet.
// Shift rows 6 - 11 on the spreadsheet to the top (rows 0 - 5)
sheet.shiftRows(5, 10, -5);

20、選中指定的工作表

HSSFSheet sheet = wb.createSheet("row sheet");
heet.setSelected(true);

21、工作表的放大縮小

HSSFSheet sheet1 = wb.createSheet("new sheet");
sheet1.setZoom(1,2);   // 50 percent magnification

22、頭注和腳注

//芝麻粒兒 https://zhima.blog.csdn.net/
HSSFSheet sheet = wb.createSheet("new sheet");
HSSFHeader header = sheet.getHeader();
header.setCenter("Center Header");
header.setLeft("Left Header");
header.setRight(HSSFHeader.font("Stencil-Normal", "Italic") +
HSSFHeader.fontSize((short) 16) + "Right w/ Stencil-Normal Italic font and size 16");

23、自定義顏色

HSSFCellStyle style = wb.createCellStyle(); // 創(chuàng)建一個HSSFCellStyle對象
style.setFillForegroundColor(HSSFColor.LIME.index); // 設置填充顏色為青色
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); // 設置填充模式為實心填充
HSSFFont font = wb.createFont(); // 創(chuàng)建一個HSSFFont對象
font.setColor(HSSFColor.RED.index); // 設置字體顏色為紅色
style.setFont(font); // 將字體設置為創(chuàng)建的HSSFFont對象
cell.setCellStyle(style); // 將單元格的樣式設置為創(chuàng)建的HSSFCellStyle對象

24、填充和顏色設置

// 創(chuàng)建一個HSSFCellStyle對象
HSSFCellStyle style = wb.createCellStyle();
style.setFillBackgroundColor(HSSFColor.AQUA.index); // 設置填充背景色為AQUA
style.setFillPattern(HSSFCellStyle.BIG_SPOTS); // 設置填充圖案為BIG_SPOTS
HSSFCell cell = row.createCell((short) 1); // 創(chuàng)建一個HSSFCell對象,并設置其列索引為1
cell.setCellValue("X"); // 設置cell的值為 "X"
style = wb.createCellStyle(); // 創(chuàng)建另一個HSSFCellStyle對象
style.setFillForegroundColor(HSSFColor.ORANGE.index); // 設置填充前景色為橙色
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); // 設置填充圖案為SOLID_FOREGROUND
cell.setCellStyle(style); // 將cell的樣式設置為新的style

25、強行刷新單元格公式

HSSFFormulaEvaluator eval=new HSSFFormulaEvaluator((HSSFWorkbook) wb);
/**
 * 更新指定行中的公式
 * 芝麻粒兒 https://zhima.blog.csdn.net/
 * @param wb 工作簿對象
 * @param s 工作表對象
 * @param row 行號
 */
private static void updateFormula(Workbook wb, Sheet s, int row) {
    Row r = s.getRow(row);
    Cell c = null;
    FormulaEvaluator eval = null;

    // 判斷工作簿類型并選擇相應的 evaluator
    if (wb instanceof HSSFWorkbook) {
        eval = new HSSFFormulaEvaluator((HSSFWorkbook) wb);
    } else if (wb instanceof XSSFWorkbook) {
        eval = new XSSFFormulaEvaluator((XSSFWorkbook) wb);
    }

    // 遍歷行中的每個單元格
    for (int i = r.getFirstCellNum(); i < r.getLastCellNum(); i++) {
        // 獲取當前單元格
        if (c == null) {
            c = r.getCell(i);
        }

        // 如果是公式類型的單元格,則進行計算
        if (c.getCellType() == Cell.CELL_TYPE_FORMULA) {
            eval.evaluateFormulaCell(c);
        }
    }
}

說明:FormulaEvaluator提供了evaluateFormulaCell(Cell cell)方法,計算公式保存結(jié)果,但不改變公式。而evaluateInCell(Cell cell) 方法是計算公式,并將原公式替換為計算結(jié)果,也就是說該單元格的類型不在是Cell.CELL_TYPE_FORMULA而是Cell.CELL_TYPE_NUMBERIC。HSSFFormulaEvaluator提供了靜態(tài)方法evaluateAllFormulaCells(HSSFWorkbook wb) ,計算一個Excel文件的所有公式,用起來很方便。

??POI 方法總結(jié)

1.設置不顯示excel網(wǎng)格線
sheet.setDisplayGridlines(false);其中sheet是Sheet對象
2.設置excel單元格中的內(nèi)容換行
cellStyle.setWrapText(true);其中cellStyle是WorkBook創(chuàng)建的CellStyle對象,然后將cellStyle設置到要換行的Cell對象,最后在要換行的對象(一般為字符串)加入"/r/n"。如
topTile.append("/r/n" +"cellContent");

3.單元格的合并
sheet.addMergedRegion(new CellRangeAddress(0, 4, 0, 2));本示例為合并424.設置頁眉和頁腳的頁數(shù)
HSSFHeader header = sheet.getHeader();
header.setCenter("Center Header");
header.setLeft("Left Header");
header.setRight(HSSFHeader.font("Stencil-Normal", "Italic") +
HSSFHeader.fontSize((short) 16) + "Right w/ Stencil-Normal Italic font and size 16");
HSSFFooter footer = (HSSFFooter )sheet.getFooter()
footer.setRight( "Page " + HSSFFooter.page() + " of " + HSSFFooter.numPages() );

5.使得一個Sheet適合一頁
sheet.setAutobreaks(true);
6.設置放大屬性(Zoom被明確為一個分數(shù),例如下面的75%使用3作為分子,4作為分母)
sheet.setZoom(3,4);

7.設置打印
HSSFPrintSetup print = (HSSFPrintSetup) sheet.getPrintSetup();
print.setLandscape(true);//設置橫向打印   
print.setScale((short) 70);//設置打印縮放70%   
print.setPaperSize(HSSFPrintSetup.A4_PAPERSIZE);//設置為A4紙張   
print.setLeftToRight(true);//設置打印順序先行后列,默認為先列行              
print.setFitHeight((short) 10);設置縮放調(diào)整為10頁高
print.setFitWidth((short) 10);設置縮放調(diào)整為寬高

sheet.setAutobreaks(false);
if (i != 0 && i % 30 == 0)
sheet.setRowBreak(i);//設置每30行分頁打印

8.反復的行和列(設置打印標題)
HSSFWorkbook wb = new HSSFWorkbook();
wb.setRepeatingRowsAndColumns(0, 0, 12, 1, 6);//設置1到12列,行1到6每一頁重復打印

9.調(diào)整單元格寬度
sheet.setAutobreaks(true);
sheet.setColumnWidth((short)i,colsWidth[i]); //設定單元格長度   
sheet.autoSizeColumn((short) i);//自動根據(jù)長度調(diào)整單元格長度

??其他

??作者:小空和小芝中的小空
??轉(zhuǎn)載說明-務必注明來源:https://zhima.blog.csdn.net/
??這位道友請留步??,我觀你氣度不凡,談吐間隱隱有王者霸氣??,日后定有一番大作為???。?!旁邊有點贊??收藏??今日傳你,點了吧,未來你成功??,我分文不取,若不成功??,也好回來找我。

溫馨提示點擊下方卡片獲取更多意想不到的資源。
poi 接口文檔,熬夜再戰(zhàn)Android系列,android,POI,API文檔,excel文章來源地址http://www.zghlxwxcb.cn/news/detail-792457.html

到了這里,關于Android修行手冊-POI操作中文API文檔的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Android 基于POI庫,根據(jù)模板導出word文檔

    Android 基于POI庫,根據(jù)模板導出word文檔

    由于項目需求,需要根據(jù)用戶提供的word模板,填充動態(tài)內(nèi)容生成新的word,為了記錄自己的踩坑日記,記錄一下。 Apache POI 是用Java編寫的免費開源的跨平臺的 Java API,Apache POI提供API給Java程序?qū)ξ臋n讀和寫的功能。 這里給出官網(wǎng)鏈接-POI官網(wǎng),同時下載版本也在官網(wǎng)鏈接中,可

    2024年01月18日
    瀏覽(23)
  • POI入門級操作excel文檔的代碼示例

    本文介紹了使用Apache POI庫操作文檔的所有方法和代碼示例。讀者可以學習如何創(chuàng)建Excel文檔、Sheet、行、單元格,以及如何設置單元格的值和樣式,最后將Excel文檔保存到磁盤上。使用POI操作Excel文件非常方便,本文詳細介紹了這個過程中需要使用的類和方法,供讀者參考使用

    2024年02月06日
    瀏覽(20)
  • Android修行手冊 - CalendarView

    Android修行手冊 - CalendarView

    往期文章分享 點擊跳轉(zhuǎn)=《導航貼》- Unity手冊,系統(tǒng)實戰(zhàn)學習 點擊跳轉(zhuǎn)=《導航貼》- Android手冊,重溫移動開發(fā) 本文約3.7千字,新手閱讀需要3分鐘,復習需要1分鐘 【 收藏隨時查閱不再迷路 】 眾所周知,人生是一個漫長的流程,不斷 克服困難 ,不斷反思前進的過程。在這

    2024年01月15日
    瀏覽(92)
  • Android修行手冊 - VideoView全解-上

    Android修行手冊 - VideoView全解-上

    往期文章分享 點擊跳轉(zhuǎn)=《導航貼》- Unity手冊,系統(tǒng)實戰(zhàn)學習 點擊跳轉(zhuǎn)=《導航貼》- Android手冊,重溫移動開發(fā) 本文約4.8千字,新手閱讀需要9分鐘,復習需要3分鐘 【 收藏隨時查閱不再迷路 】 眾所周知,人生是一個漫長的流程,不斷 克服困難 ,不斷反思前進的過程。在這

    2024年02月01日
    瀏覽(33)
  • Android修行手冊 - 使用ViewPager2實現(xiàn)畫廊效果

    Android修行手冊 - 使用ViewPager2實現(xiàn)畫廊效果

    Unity3D特效百例 案例項目實戰(zhàn)源碼 Android-Unity實戰(zhàn)問題匯總 游戲腳本-輔助自動化 Android控件全解手冊 再戰(zhàn)Android系列 Scratch編程案例 軟考全系列 Unity3D學習專欄 藍橋系列 ChatGPT和AIGC 專注于 Android/Unity 和各種游戲開發(fā)技巧,以及 各種資源分享 (網(wǎng)站、工具、素材、源碼、游戲等

    2024年02月22日
    瀏覽(23)
  • Android修行手冊-多路USB外接攝像頭

    Android修行手冊-多路USB外接攝像頭

    點擊跳轉(zhuǎn)=Unity3D特效百例 點擊跳轉(zhuǎn)=案例項目實戰(zhàn)源碼 點擊跳轉(zhuǎn)=游戲腳本-輔助自動化 點擊跳轉(zhuǎn)=Android控件全解手冊 點擊跳轉(zhuǎn)=Scratch編程案例 點擊跳轉(zhuǎn)=軟考全系列 專注于 Android/Unity 和各種游戲開發(fā)技巧,以及 各種資源分享 (網(wǎng)站、工具、素材、源碼、游戲等) 有什么需要歡

    2024年02月07日
    瀏覽(22)
  • 使用POI生成word文檔的table表格

    使用POI生成word文檔的table表格

    //生成一行一列的table XWPFTable table = document.createTable(); //添加列 table.getRow(0).addNewTableCell(); //添加行(添加的新行默認就是總共的列數(shù)) table.createRow(); 測試Demo:CreateTableDemo1.java 生成結(jié)果: //生成3行5列的table XWPFTable table2 = document.createTable(3, 5); 測試Demo: 生成結(jié)果: 創(chuàng)建的兩

    2024年01月25日
    瀏覽(21)
  • Android修行手冊 - 陰影效果的幾種實現(xiàn)以及一些特別注意點

    Android修行手冊 - 陰影效果的幾種實現(xiàn)以及一些特別注意點

    Unity3D特效百例 案例項目實戰(zhàn)源碼 Android-Unity實戰(zhàn)問題匯總 游戲腳本-輔助自動化 Android控件全解手冊 再戰(zhàn)Android系列 Scratch編程案例 軟考全系列 Unity3D學習專欄 藍橋系列 ChatGPT和AIGC 專注于 Android/Unity 和各種游戲開發(fā)技巧,以及 各種資源分享 (網(wǎng)站、工具、素材、源碼、游戲等

    2024年04月10日
    瀏覽(100)
  • Android修行手冊-基礎優(yōu)化系列圖片篇,ios音視頻面試內(nèi)容

    Android修行手冊-基礎優(yōu)化系列圖片篇,ios音視頻面試內(nèi)容

    圖片款=(480/480)*400=400 占用內(nèi)存為300*400*4=480000 那么它占用內(nèi)存為什么是變化的? Android會先解析圖片文件本身的數(shù)據(jù)格式,然后還原成Bitmap對象,Bitmap的大小就跟上面的計算方式相關聯(lián)。 再舉例1080*452的png圖片,圖片占用存儲空間大小為56kb,內(nèi)存如圖: 上圖一目了然,不

    2024年04月27日
    瀏覽(45)
  • Java POI導出富文本的內(nèi)容到word文檔

    當創(chuàng)建使用富文本編輯器,操作完的數(shù)據(jù),傳輸?shù)胶笈_都是帶有html標簽的。 如:h1標題頭/h1h2第二個標題/h2a href=\\\"www.baidu.com\\\"百度搜索/a 我們想把富文本數(shù)據(jù)轉(zhuǎn)換為Word內(nèi)容。 Word是完全支持html標簽的,但是我們獲取到的富文本內(nèi)容并不是完整的html代碼,所有我們需要先補全

    2024年02月09日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包