Class Cell

java.lang.Object
io.leandev.appfuse.workbook.Cell

public class Cell extends Object

儲存格

封裝底層 POI 的 Cell,提供型別感知的讀寫:

  • 寫入:setValue(Object) 依執行期型別自動對映(字串、數值、日期、布林)
  • 讀取:getValue() 依儲存格型別還原為對應 Java 型別(公式會先求值)

樣式設定方法(如 setColor(Color))會在此儲存格上延遲建立一個專屬樣式。 需要大量套用相同外觀時,請改用 Workbook.createCellStyle() + setStyle(CellStyle) 共用樣式。

Since:
4.0.0
  • Method Details

    • setValue

      public void setValue(Object value)

      寫入儲存格值

      value 的執行期型別對映:String → 文字;Number → 數值; Date → 日期(未設定格式時自動套用日期時間格式);Boolean → 布林; 其餘型別轉為字串寫入。null 會清為空白儲存格。

      Parameters:
      value - 要寫入的值
    • getValue

      public Object getValue()

      讀取儲存格值

      依儲存格型別還原:文字 → String(空字串與字面 NULL 視為 null); 數值 → 日期格式則回 Date,整數回 Long、否則回 Double; 布林 → Boolean;公式 → 先求值再依結果型別還原;空白 → null

      Returns:
      儲存格值,空白回傳 null
    • setRichText

      public void setRichText(String html)

      以 HTML 子集寫入富文本(單格內混排字型)

      輸入為 appfuse-web RichTextEditor(Tiptap/ProseMirror)輸出的 HTML: 行內 marks(strong/em/u/s/sup/sub/span 顏色)逐段套用字型, 一般文字沿用本儲存格的樣式。

      區塊標記會被壓平 Excel 儲存格內沒有區塊的概念:p/br 成為換行、ul/ol 成為 / 1. 前綴、 h1h3 保留粗體、img 略過。含換行時記得 setWrapText(boolean), 否則 Excel 只顯示單行。

      需要完整版面(真正的段落、清單、圖片)請改用 document 模組輸出 Word。

      與樣式的先後順序 富文本的字型以呼叫當下儲存格樣式的字型為基底衍生(字型名稱、字級、顏色)。 需要同時設定樣式時,請先 setStyle(CellStyle)setRichText

      Parameters:
      html - HTML 片段,null 會清為空白儲存格
    • setFormula

      public void setFormula(String formula)

      寫入公式(不含前導 =,如 A1+B1SUM(A1:A10)

      公式的計算結果在以 getValue() 讀取時才求值。

      Parameters:
      formula - Excel 公式字串
    • setDataFormat

      public void setDataFormat(String dataFormat)
      以指定 Excel 格式字串設定資料格式
      Parameters:
      dataFormat - Excel 格式字串(如 yyyy-mm-dd#,##0.00
    • setDataFormat

      public void setDataFormat(DataFormat dataFormat)
      以預設格式列舉設定資料格式
      Parameters:
      dataFormat - 預設格式
    • dataFormat

      public String dataFormat()
      取得目前的資料格式字串
      Returns:
      格式字串,一般格式回傳 null
    • setColor

      public void setColor(Color color)
      設定字型顏色
      Parameters:
      color - 顏色
    • setBackground

      public void setBackground(Color color)
      設定背景填滿顏色
      Parameters:
      color - 顏色
    • setBorderStyle

      public void setBorderStyle(BorderStyle borderStyle)
      設定四邊框線樣式
      Parameters:
      borderStyle - 框線樣式
    • setBorderColor

      public void setBorderColor(Color color)
      設定四邊框線顏色
      Parameters:
      color - 顏色
    • setAlign

      public void setAlign(Align align)
      設定水平對齊
      Parameters:
      align - 對齊方式
    • setFontFamily

      public void setFontFamily(String name)
      設定字型名稱
      Parameters:
      name - 字型名稱
    • setFontSize

      public void setFontSize(short points)
      設定字級(點數)
      Parameters:
      points - 字級點數
    • setWrapText

      public void setWrapText(boolean wrapText)
      設定是否自動換行
      Parameters:
      wrapText - 是否自動換行
    • setStyle

      public void setStyle(CellStyle cellStyle)
      套用既有(可共用)的儲存格樣式
      Parameters:
      cellStyle - 樣式
    • row

      public Row row()
      取得此儲存格所屬的列
      Returns: