資料

添加資料驗證

func (f *File) AddDataValidation(sheet string, dv *DataValidation)

根據給定的工作表名和資料驗證對象設定資料驗證規則,資料驗證對象可透過 NewDataValidation 函式創建,資料驗證類別和條件參考常量中的定義。

例1,為 Sheet1!A1:B2 設定包含驗證條件為允許介於整數 10 到 20 的資料驗證規則,輸入無效資料時顯示出錯警告,標題為: "error title",錯誤信息 "error body":

資料驗證

dv := excelize.NewDataValidation(true)
dv.SetSqref("A1:B2")
dv.SetRange(10, 20, excelize.DataValidationTypeWhole, excelize.DataValidationOperatorBetween)
dv.SetError(excelize.DataValidationErrorStyleStop, "error title", "error body")
f.AddDataValidation("Sheet1", dv)

例2,為 Sheet1!A3:B4 設定包含驗證條件為允許大於整數 10 的資料驗證規則,選定儲存格時顯示輸入信息,輸入信息為: "input body":

資料驗證

dv = excelize.NewDataValidation(true)
dv.SetSqref("A3:B4")
dv.SetRange(10, 20, excelize.DataValidationTypeWhole, excelize.DataValidationOperatorGreaterThan)
dv.SetInput("input title", "input body")
f.AddDataValidation("Sheet1", dv)

例3,為 Sheet1!A5:B6 設定驗證條件為序列的資料驗證規則,忽略空值並提供下拉箭頭:

資料驗證

dv = excelize.NewDataValidation(true)
dv.SetSqref("A5:B6")
dv.SetDropList([]string{"1", "2", "3"})
f.AddDataValidation("Sheet1", dv)

如果您在序列中設定的項目超過限制累計 255 個字符的限制,請使用另一種方式設定:在工作表存儲格中設定允許的值,並使用 SetSqrefDropList 函數設定序列中引用存儲格的範圍。

例4,為 Sheet1!A7:B8 設定以 Sheet1!E1:E3 為來源的驗證條件,忽略空值並提供下拉箭頭:

資料驗證

dv := excelize.NewDataValidation(true)
dv.SetSqref("A7:B8")
dv.SetSqrefDropList("E1:E3")
f.AddDataValidation("Sheet1", dv)

資料驗證下拉列表中顯示的項目數量有限制:該列表最多可以顯示 32768 個項目。如果您需要更多項目,可以透過級聯列表將項目分類。

獲取資料驗證

func (f *File) GetDataValidations(sheet string) ([]*DataValidation, error)

根據給定的工作表名獲取改工作表中全部資料驗證區域和資料驗證規則。

刪除資料驗證

func (f *File) DeleteDataValidation(sheet string, sqref ...string) error

根據給定的工作表名和資料驗證區域刪除資料驗證規則。若未指定資料驗證區域,將刪除給定工作表中全部資料驗證區規則。

添加交叉分析篩選器

SlicerOptions 定義了交叉分析篩選器的屬性。

type SlicerOptions struct {
    Name          string
    Table         string
    Cell          string
    Caption       string
    Macro         string
    Width         uint
    Height        uint
    DisplayHeader *bool
    ItemDesc      bool
    Format        GraphicOptions
}

Name 為必選參數,用於設定交叉分析篩選器的名稱,必須是工作表中已有表格或數據透視表中字段名稱。

Table 為必選參數,用於設定交叉分析篩選器關聯的表格或數據透視表名稱。

Cell 為必選參數,用於設定交叉分析篩選器左上角存儲格坐標位置。

Caption 為可選參數,用於設定交叉分析篩選器的標題。

Macro 為可選參數,用於為交叉分析篩選器設定巨集。當使用該參數設定時,保存活頁簿時的文件擴展名應為 .xlsm 或者 .xltm

Width 為可選參數,用於為設定交叉分析篩選器的寬度。

Height 為可選參數,用於為設定交叉分析篩選器的高度。

DisplayHeader 為可選參數,用於設定是否顯示交叉分析篩選器的頁首,默認顯示交叉分析篩選器的頁首。

ItemDesc 為可選參數,用於設定使用遞減 (Z-A) 為交叉分析篩選器項目排序,默認設定為 false(表示使用遞增)。

Format 為可選參數,用於設定交叉分析篩選器的格式(大小和屬性)。

func (f *File) AddSlicer(sheet string, opts *SlicerOptions) error

透過給定的工作表名稱和交叉分析篩選器設定,在工作表中添加交叉分析篩選器。例如,在 Sheet1!E1 存儲格中,為表格 Table1 名為 Column1 的列添加交叉分析篩選器:

err := f.AddSlicer("Sheet1", &excelize.SlicerOptions{
    Name:       "Column1",
    Cell:       "E1",
    TableSheet: "Sheet1",
    TableName:  "Table1",
    Caption:    "Column1",
    Width:      200,
    Height:     200,
})

results matching ""

    No results matching ""