当前位置: 首页 > 資訊 >

【Aspose系列】Aspose.Cells (1) - 建立/讀取Workbook、WorksheetCollection

這個系列旨在介紹 Aspose 的幾類常用 API,有興趣的話就一起往下看吧!此系列中不會包含 Aspose 和 Apache POI 的比較,也許未來會考慮另開系列做補充。

首先要介紹的是 Aspose.Cells,在 Cells 中提供豐富的 API 讓我們可以操作 Excel 中的各項功能,包括製作圖表、文字藝術師等。

Workbook

  • 一個試算表被讀入到 Workbook 後,可以分為以下幾個階層:
資料型態 註解 等於 Excel 中的 連結
Workbook 整個 file 整個檔案 此篇文章
WorksheetCollection 所有 Worksheet 的集合 此篇文章
Worksheet 從 WorksheetCollection 取出其中一個 某個工作表 連結
Cells 所有欄位(Cell)的集合 to be continued
Cell 從 Cells 取出其中一個 某個欄位 to be continued

初始化 Workbook

// 建立一個新的 Workbook
Workbook workbook = new Workbook();
// 讀取現有的檔案
String fileName = "Temp.xlsx";
Workbook workbook = new Workbook(fileName);

儲存 Workbook

workbook.save("/Users/user/Documents/word2pdf-files/xls2Protect.xls");

取得 WorksheetCollection

  • WorksheetCollection 為多個 Worksheet 的集合
WorksheetCollection sheets = workbook.getWorksheets();
// 取得共有幾個 Worksheet
int sheetCount = sheets.getCount()

新增 Worksheet

  • 新增 Worksheet 時有三項參數
    1. index:Worksheet 排在第幾個,未指定時預設新增在最後一個
      • Worksheet 的 index 值由 0 開始
    2. Sheet Name:未指定時預設為 "Sheet1"、"Sheet2"、……
    3. Sheet Type:未指定時預設為 "WORKSHEET"
      • Type 種類:VB, WORKSHEET, CHART, BIFF_4_MACRO, INTERNATIONAL_MACRO, OTHER, DIALOG
      • 可參考:SheetType 官方文件
// 參數使用預設值
sheets.add();
// 指定 SheetType
sheets.add(com.aspose.cells.SheetType.WORKSHEET);
// 指定 Sheet 名稱
sheets.add("sheetName");
// 指定 index,如果 index = 1,表示插入到第二個 Sheet 的後面(index 初始值為0)
sheets.insert(index, sheetType);
// 三項參數皆使用自訂值
sheets.insert(index, sheetType, sheetName);

除了新增空白的 Sheet,也可以選擇複製其他現有的 Sheet

// 根據 index 複製 Sheet
sheets.addCopy(index);
// 根據 Sheet Name 複製現有的 Sheet
sheets.addCopy("sheetName");

刪除 Worksheet

// 刪除所有 Worksheet
sheets.clear();
// 根據 index 刪除 Worksheet
sheets.removeAt(index);
// 根據 Sheet Name 刪除 Worksheet
sheets.removeAt(name);

更改 Worksheet 的順序

// 交換 Worksheet 的位置,下面這個例子為:交換位於第二和第三的 Worksheet
sheets.swapSheet(1, 2);

取得 Worksheet

取得 Worksheet 後可以進行更具體的操作,包括設定欄位的大小、內容、顏色等,這部分將在下一集中介紹

Worksheet sheet1 = sheets.get(index);
Worksheet sheet2 = sheets.get(sheetName);
// 根據 index 更改 worksheet 的名字
sheets.get(0).setName("First Sheet");

參考資料

下一篇中將介紹 Worksheet。
新手發文,若有寫錯的地方請不吝指正我,感謝您的閱讀!