Workbook (Sổ đăng ký)
Options
định nghĩa các tùy chọn cho việc đọc và ghi bảng tính.
type Options struct {
MaxCalcIterations uint
Password string
RawCellValue bool
UnzipSizeLimit int64
UnzipXMLSizeLimit int64
ShortDatePattern string
LongDatePattern string
LongTimePattern string
CultureInfo CultureName
}
MaxCalcIterations
được sử dụng để xác định số lượt lớn nhất khi tính toán các công thức, mặc định là 0.
Password
được sử dụng để xác định mật khẩu cho việc mở và lưu sổ đăng ký trong văn bản thuần túy, mặc định là rỗng.
RawCellValue
được sử dụng để xác định xem liệu có lấy giá trị thô khi đọc giá trị ô, mặc định là false
(áp dụng định dạng số).
UnzipSizeLimit
được sử dụng để xác định giới hạn kích thước (tính bằng byte) cho việc giải nén khi mở một tài liệu bảng tính, nên lớn hơn hoặc bằng UnzipXMLSizeLimit
, giới hạn mặc định là 16GB.
UnzipXMLSizeLimit
được sử dụng để xác định giới hạn bộ nhớ (tính bằng byte) khi giải nén mỗi bảng tính và bảng chuỗi chung, và khi kích thước vượt quá giá trị này, tệp XML bảng tính sẽ được giải nén vào thư mục tạm thời của hệ thống. Giá trị này nên nhỏ hơn hoặc bằng UnzipSizeLimit
, giới hạn mặc định là 16MB.
ShortDatePattern
được sử dụng để xác định mã định dạng ngày số ngắn.
LongDatePattern
được sử dụng để xác định mã định dạng ngày số dài.
LongTimePattern
được sử dụng để xác định mã định dạng thời gian dài.
CultureInfo
được sử dụng để xác định định dạng vùng, sẽ được sử dụng khi đọc các định dạng số bị ảnh hưởng bởi cài đặt ngày và giờ cụ thể của vùng.
Create (Tạo)
func NewFile(opts ...Options) *File
Sử dụng NewFile
để tạo một sổ đăng ký Excel mới, mặc định sẽ chứa một bảng tính có tên là Sheet1
.
Open (Mở)
func OpenFile(filename string, opts ...Options) (*File, error)
Sử dụng OpenFile
để mở một tài liệu Excel đã tồn tại. Ví dụ, mở một tài liệu bảng tính được bảo vệ bằng mật khẩu:
f, err := excelize.OpenFile("Book1.xlsx", excelize.Options{Password: "password"})
if err != nil {
return
}
Sử dụng Close()
để đóng sổ đăng ký đã mở.
Open Data Stream (Mở Luồng Dữ liệu)
func OpenReader(r io.Reader, opts ...Options) (*File, error)
OpenReader đọc dữ liệu từ io.Reader
.
Trong ví dụ sau, chúng ta tạo một máy chủ HTTP đơn giản để nhận tài liệu bảng tính được tải lên, thêm một bảng tính mới vào tài liệu nhận được và trả về một phản hồi tải xuống:
package main
import (
"fmt"
"net/http"
"github.com/xuri/excelize/v2"
)
func process(w http.ResponseWriter, req *http.Request) {
file, _, err := req.FormFile("file")
if err != nil {
fmt.Fprint(w, err.Error())
return
}
defer file.Close()
f, err := excelize.OpenReader(file)
if err != nil {
fmt.Fprint(w, err.Error())
return
}
f.Path = "Book1.xlsx"
f.NewSheet("NewSheet")
w.Header().Set("Content-Disposition", fmt.Sprintf("attachment; filename=%s", f.Path))
w.Header().Set("Content-Type", req.Header.Get("Content-Type"))
if err := f.Write(w); err != nil {
fmt.Fprint(w, err.Error())
}
}
func main() {
http.HandleFunc("/process", process)
http.ListenAndServe(":8090", nil)
}
Kiểm thử sử dụng cURL:
curl --location --request GET 'http://127.0.0.1:8090/process' \
--form 'file=@/tmp/template.xltx' -O -J
Save (Lưu)
func (f *File) Save(opts ...Options) error
Sử dụng Save
để lưu các chỉnh sửa vào tài liệu Excel.
Save As (Lưu như)
func (f *File) SaveAs(name string, opts ...Options) error
Sử dụng SaveAs
để lưu tài liệu Excel dưới dạng tệp đã chỉ định.
Close Workbook (Đóng sổ đăng ký)
func (f *File) Close() error
Đóng sổ đăng ký và dọn dẹp bất kỳ bộ nhớ đệm hệ thống nào có thể đã được tạo ra khi mở tài liệu.
Bảng tính mới
func (f *File) NewSheet(sheet string) (int, error)
Tạo một bảng tính mới dựa trên tên bảng tính được cung cấp và trả về chỉ mục của bảng tính trong workbook. Vui lòng lưu ý rằng khi tạo một workbook mới, nó sẽ chứa một bảng tính mặc định mang tên Sheet1
.
Xóa bảng tính
func (f *File) DeleteSheet(sheet string) error
Xóa bảng tính cụ thể dựa trên tên bảng tính được cung cấp. Hãy sử dụng phương pháp này cẩn thận, vì nó sẽ ảnh hưởng đến các công thức, tham chiếu, biểu đồ và các yếu tố khác liên quan đến bảng tính đã bị xóa. Nếu các thành phần khác tham chiếu đến các giá trị trên bảng tính đã bị xóa, một lỗi sẽ xuất hiện và thậm chí có thể gây nên sự cố khi mở workbook. Việc gọi phương pháp này không hợp lệ khi workbook chỉ chứa một bảng tính.
Sao chép bảng tính
func (f *File) CopySheet(from, to int) error
Sao chép bảng tính dựa trên bảng tính nguồn được cung cấp và chỉ mục bảng tính đích. Người phát triển cần xác nhận liệu chỉ mục bảng tính đích đã tồn tại hay chưa. Hiện tại, chỉ sao chép những bảng tính chứa giá trị ô và công thức được hỗ trợ, trong khi việc sao chép các bảng tính chứa bảng, hình ảnh, biểu đồ và bảng điều khiển không được hỗ trợ.
// Bảng tính có tên là Sheet1 đã tồn tại ...
index, err := f.NewSheet("Sheet2")
if err != nil {
fmt.Println(err)
return
}
err := f.CopySheet(1, index)
Nhóm bảng tính
func (f *File) GroupSheets(sheets []string) error
Nhóm các bảng tính dựa trên các tên bảng tính được cung cấp, và bảng tính mặc định phải được bao gồm trong các bảng tính được cung cấp.
Bỏ nhóm bảng tính
func (f *File) UngroupSheets() error
Bỏ nhóm các bảng tính.
Thiết lập hình nền cho bảng tính
func (f *File) SetSheetBackground(sheet, picture string) error
Thiết lập hình nền theo dạng lát cho bảng tính cụ thể dựa trên tên bảng tính và đường dẫn tệp hình ảnh được cung cấp. Các định dạng tệp hình ảnh được hỗ trợ bao gồm: BMP, EMF, EMZ, GIF, JPEG, JPG, PNG, SVG, TIF, TIFF, WMF và WMZ.
func (f *File) SetSheetBackgroundFromBytes(sheet, extension string, picture []byte) error
Thiết lập hình nền theo dạng lát cho bảng tính cụ thể dựa trên tên bảng tính, phần mở rộng định dạng hình ảnh và dữ liệu định dạng hình ảnh được cung cấp. Các định dạng tệp hình ảnh được hỗ trợ bao gồm: BMP, EMF, EMZ, GIF, JPEG, JPG, PNG, SVG, TIF, TIFF, WMF và WMZ.
Thiết lập bảng tính mặc định
func (f *File) SetActiveSheet(index int)
Thiết lập bảng tính mặc định dựa trên giá trị chỉ mục được cung cấp, trong đó giá trị phải lớn hơn hoặc bằng 0
và nhỏ hơn tổng số bảng tính tích lũy trong workbook.
Nhận chỉ mục bảng tính mặc định
func (f *File) GetActiveSheetIndex() int
Nhận chỉ mục của bảng tính mặc định, trả về 0
nếu không tìm thấy bảng tính mặc định.
Thiết lập tính hiển thị của bảng tính
func (f *File) SetSheetVisible(sheet string, visible bool, veryHidden ...bool) error
Thiết lập tình hiển thị của bảng tính dựa trên tên bảng tính và tham số hiển thị. Một workbook phải chứa ít nhất một bảng tính có thể nhìn thấy. Nếu bảng tính được cung cấp là bảng tính mặc định, thiết lập tình hiển thị sẽ không hợp lệ. Tham số tùy chọn thứ ba veryHidden
chỉ hợp lệ khi giá trị tham số visible
là false
.
Ví dụ, để ẩn bảng tính có tên Sheet1
:
err := f.SetSheetVisible("Sheet1", false)
Nhận tính hiển thị của bảng tính
func (f *File) GetSheetVisible(sheet string) (bool, error)
Nhận cài đặt tính hiển thị của bảng tính dựa trên tên bảng tính được cung cấp. Ví dụ, để nhận cài đặt tính hiển thị của bảng tính có tên Sheet1
:
visible, err := f.GetSheetVisible("Sheet1")
Thiết lập Thuộc tính Bảng
func (f *File) SetSheetProps(sheet string, opts *SheetPropsOptions) error
Thiết lập các thuộc tính của một bảng được chỉ định dựa trên tên bảng và tùy chọn thuộc tính cho trước. Các tùy chọn thuộc tính của bảng được hỗ trợ như sau:
Thuộc tính | Kiểu | Mô tả |
---|---|---|
CodeName | *string |
Tên mã |
EnableFormatConditionsCalculation | *bool |
Chỉ định xem có tính toán định dạng điều kiện tự động hay không, với giá trị mặc định là true |
Published | *bool |
Chỉ định xem bảng có được xuất bản hay không, với giá trị mặc định là true |
AutoPageBreaks | *bool |
Chỉ định xem bảng có tự động phân trang hay không, với giá trị mặc định là true |
FitToPage | *bool |
Chỉ định xem có bật chế độ in vừa trang hay không, với giá trị mặc định là false |
TabColorIndexed | *int |
Giá trị màu được lập chỉ mục tương thích ngược |
TabColorRGB | *string |
Giá trị màu chuẩn ARGB |
TabColorTheme | *int |
Chỉ số màu chủ đề bắt đầu từ 0 |
TabColorTint | *float64 |
Giá trị tô được áp dụng cho màu, với giá trị mặc định là 0.0 |
OutlineSummaryBelow | *bool |
Chỉ định hướng của tóm tắt, có nằm dưới dữ liệu chi tiết không, với giá trị mặc định là true |
OutlineSummaryRight | *bool |
Chỉ định hướng của tóm tắt, có nằm bên phải dữ liệu chi tiết không, với giá trị mặc định là true |
BaseColWidth | *uint8 |
Độ rộng cột cơ bản được biểu diễn bằng số ký tự, với giá trị mặc định là 8 |
DefaultColWidth | *float64 |
Độ rộng cột mặc định bao gồm viền và đường lưới |
DefaultRowHeight | *float64 |
Chiều cao hàng được biểu diễn bằng điểm |
CustomHeight | *bool |
Chỉ định xem có áp dụng chiều cao hàng tùy chỉnh hay không, với giá trị mặc định là false |
ZeroHeight | *bool |
Chỉ định xem có ẩn hàng mặc định hay không, với giá trị mặc định là false |
ThickTop | *bool |
Chỉ định xem có đường viền trên hàng dày mặc định hay không, với giá trị mặc định là false |
ThickBottom | *bool |
Chỉ định xem có đường viền dưới hàng dày mặc định hay không, với giá trị mặc định là false |
Ví dụ, để ẩn hàng mặc định trong bảng có tên là Sheet1
:
f, enable := excelize.NewFile(), true
if err := f.SetSheetProps("Sheet1", &excelize.SheetPropsOptions{
ZeroHeight: &enable,
}); err != nil {
fmt.Println(err)
}
if err := f.SetRowVisible("Sheet1", 10, true); err != nil {
fmt.Println(err)
}
f.SaveAs("Book1.xlsx")
Lấy Thuộc tính Bảng
func (f *File) GetSheetProps(sheet string) (SheetPropsOptions, error)
Lấy các thuộc tính của một bảng được chỉ định dựa trên tên bảng cho trước.
Thiết lập Thuộc tính Xem Bảng
func (f *File) SetSheetView(sheet string, viewIndex int, opts *ViewOptions) error
Thiết lập các thuộc tính xem bảng dựa trên tên bảng, chỉ mục xem và tùy chọn xem cho trước. viewIndex
có thể là một số âm, trong trường hợp đó, đếm sẽ được thực hiện theo chiều ngược lại (-1
biểu thị chỉ mục cuối cùng). Các tùy chọn hỗ trợ để thiết lập các thuộc tính xem bảng như sau:
Thuộc tính | Kiểu | Mô tả |
---|---|---|
DefaultGridColor | *bool |
Chỉ định liệu có sử dụng màu đường lưới mặc định không, giá trị mặc định là true |
RightToLeft | *bool |
Chỉ định liệu hiển thị từ phải sang trái không, giá trị mặc định là false |
ShowFormulas | *bool |
Chỉ định liệu bảng tính có hiển thị các công thức không, giá trị mặc định là false |
ShowGridLines | *bool |
Chỉ định liệu bảng tính có hiển thị đường lưới không, giá trị mặc định là true |
ShowRowColHeaders | *bool |
Chỉ định liệu bảng tính có hiển thị tiêu đề hàng và cột không, giá trị mặc định là true |
ShowRuler | *bool |
Chỉ định liệu hiển thị thước đo trong chế độ bố cục trang không, giá trị mặc định là true |
ShowZeros | *bool |
Chỉ định liệu hiển thị giá trị không trong ô không, giá trị mặc định là true , nếu không sẽ hiển thị là trống |
TopLeftCell | *string |
Chỉ định tọa độ của ô trên cùng bên trái có thể nhìn thấy |
View | *string |
Chỉ ra loại xem bảng, với các giá trị enum bình thường , xem trang , và bố cục trang |
ZoomScale | *float64 |
Phần trăm tỷ lệ thu phóng cửa sổ hiển thị xem hiện tại, giới hạn trong khoảng từ 10 đến 400, giá trị mặc định là 100 |
Lấy Thuộc tính Xem Bảng
func (f *File) GetSheetView(sheet string, viewIndex int) (ViewOptions, error)
Truy xuất các thuộc tính xem bảng dựa trên tên bảng và chỉ mục xem. viewIndex
có thể là một số âm, trong trường hợp đó, đếm sẽ được thực hiện theo chiều ngược lại (-1
biểu thị chỉ mục cuối cùng).
Thiết lập bố cục trang của Bảng tính
func (f *File) SetPageLayout(sheet string, opts *PageLayoutOptions) error
Thiết lập các thuộc tính bố cục trang của bảng tính dựa trên tên bảng tính và các tham số bố cục trang đã cho. Các thuộc tính bố cục trang hiện được hỗ trợ bao gồm:
Thuộc tính Size
được sử dụng để chỉ định kích thước giấy trang, với kích thước bố cục trang mặc định là "Letter 8½ × 11 inches". Bảng dưới đây cho thấy mối quan hệ giữa các kích thước bố cục trang và tham số chỉ số Size
trong Excelize:
Chỉ số | Kích thước giấy |
---|---|
1 | Letter 8½ × 11 inches |
2 | Letter Small 8½ × 11 inches |
3 | Tabloid 11 × 17 inches |
4 | Ledger 17 × 11 inches |
... | ... |
40 | German Standard Fanfold 8.5 × 12 inches |
41 | German legal paper fanfold 8.5 × 13 inches |
42 | ISO B4 250 × 353 mm |
43 | Japanese postcard 100 × 148 mm |
44 | Standard paper 9 × 11 inches |
45 | Standard paper 10 × 11 inches |
46 | Standard paper 15 × 11 inches |
47 | Invitation letter 220 × 220 mm |
50 | Letterhead enlarged 9.275 × 12 inches |
... | ... |
86 | Japanese envelope Chou #3 landscape |
```markdown
| 87 | Bìa thư Nhật Chou #4 Kiểu Ngang |
| 88 | B6 (JIS) 128 × 182 mm |
| 89 | B6 (JIS) Kiểu Ngang 182 × 128 mm |
| 90 | 12 × 11 inches |
| 91 | Bìa thư Nhật Kiểu You #4 |
| 92 | Bìa thư Nhật Kiểu You #4 Kiểu Ngang |
| 93 | Trang giấy Trung Quốc 16K 146 × 215 mm |
| 94 | Trang giấy Trung Quốc 32K 97 × 151 mm |
| 95 | Trang giấy Trung Quốc lớn 32K 97 × 151 mm |
| 96 | Bìa thư Trung Quốc #1 102 × 165 mm |
| 97 | Bìa thư Trung Quốc #2 102 × 176 mm |
| 98 | Bìa thư Trung Quốc #3 125 × 176 mm |
| 99 | Bìa thư Trung Quốc #4 110 × 208 mm |
| 100 | Bìa thư Trung Quốc #5 110 × 220 mm |
| 101 | Bìa thư Trung Quốc #6 120 × 230 mm |
| 102 | Bìa thư Trung Quốc #7 160 × 230 mm |
| 103 | Bìa thư Trung Quốc #8 120 × 309 mm |
| 104 | Bìa thư Trung Quốc #9 229 × 324 mm |
| 105 | Bìa thư Trung Quốc #10 324 × 458 mm |
| 106 | Trang giấy Trung Quốc 16K Kiểu Ngang |
| 107 | Trang giấy Trung Quốc 32K Kiểu Ngang |
| 108 | Trang giấy Trung Quốc lớn 32K Kiểu Ngang |
| 109 | Bìa thư Trung Quốc #1 Kiểu Ngang 165 × 102 mm |
| 110 | Bìa thư Trung Quốc #2 Kiểu Ngang 176 × 102 mm |
| 111 | Bìa thư Trung Quốc #3 Kiểu Ngang 176 × 125 mm |
| 112 | Bìa thư Trung Quốc #4 Kiểu Ngang 208 × 110 mm |
| 113 | Bìa thư Trung Quốc #5 Kiểu Ngang 220 × 110 mm |
| 114 | Bìa thư Trung Quốc #6 Kiểu Ngang 230 × 120 mm |
| 115 | Bìa thư Trung Quốc #7 Kiểu Ngang 230 × 160 mm |
| 116 | Bìa thư Trung Quốc #8 Kiểu Ngang 309 × 120 mm |
| 117 | Bìa thư Trung Quốc #9 Kiểu Ngang 324 × 229 mm |
| 118 | Bìa thư Trung Quốc #10 Kiểu Ngang 458 × 324 mm |
Thuộc tính `Orientation` được sử dụng để chỉ định hướng bố trí trang, với hướng bố trí trang mặc định là "kiểu đứng", và các giá trị tùy chọn là `kiểu đứng` và `kiểu ngang`.
Thuộc tính `FirstPageNumber` được sử dụng để chỉ định số trang bắt đầu, mặc định là tự động.
Thuộc tính `AdjustTo` được sử dụng để chỉ định tỷ lệ co dãn trang, với phạm vi từ 10 đến 400, tức là co dãn từ 10% đến 400%, và giá trị mặc định là `100` cho kích thước bình thường. Đặt `FitToHeight` hoặc `FitToWidth` sẽ ghi đè thuộc tính này.
Thuộc tính `FitToHeight` được sử dụng để chỉ định tỷ lệ co dãn trang để điều chỉnh chiều rộng trang, với giá trị mặc định là `1`.
Thuộc tính `FitToWidth` được sử dụng để chỉ định tỷ lệ co dãn trang để điều chỉnh chiều cao trang, với giá trị mặc định là `1`.
Thuộc tính `BlackAndWhite` được sử dụng để chỉ định in màu đen trắng, mặc định là tắt.
f := excelize.NewFile()
var (
size = 10
orientation = "landscape"
firstPageNumber uint = 2
adjustTo uint = 100
fitToHeight = 2
fitToWidth = 2
blackAndWhite = true
)
if err := f.SetPageLayout("Sheet1", &excelize.PageLayoutOptions{
Size: &size,
Orientation: &orientation,
FirstPageNumber: &firstPageNumber,
AdjustTo: &adjustTo,
FitToHeight: &fitToHeight,
FitToWidth: &fitToWidth,
BlackAndWhite: &blackAndWhite,
}); err != nil {
fmt.Println(err)
}
Lấy Bố cục Trang Bảng tính
func (f *File) GetPageLayout(sheet string) (PageLayoutOptions, error)
Thu được các thuộc tính bố cục trang của bảng tính dựa trên tên bảng tính và các tham số bố cục trang đã cho.
Đặt Lề Trang Bảng tính
func (f *File) SetPageMargins(sheet string, opts *PageLayoutMarginsOptions) error
Đặt lề trang của bảng tính dựa trên tên bảng tính đã cho và các tham số lề. Các tùy chọn lề hỗ trợ là:
Tùy chọn | Loại | Mô tả |
---|---|---|
Bottom | *float64 |
Lề dưới |
Footer | *float64 |
Lề chân trang |
Header | *float64 |
Lề đầu trang |
Left | *float64 |
Lề trái |
Right | *float64 |
Lề phải |
Top | *float64 |
Lề trên |
Horizontally | *bool |
Căn giữa theo chiều ngang của trang |
Vertically | *bool |
Căn giữa theo chiều dọc của trang |
Lấy Lề Trang Bảng tính
func (f *File) GetPageMargins(sheet string) (PageLayoutMarginsOptions, error)
Thu được lề trang của bảng tính dựa trên tên bảng tính và các tham số lề đã cho.
Đặt Thuộc tính Workbook
func (f *File) SetWorkbookProps(opts *WorkbookPropsOptions) error
SetWorkbookProps được sử dụng để đặt các thuộc tính của workbook. Các thuộc tính workbook hỗ trợ là:
Thuộc tính | Loại | Mô tả |
---|---|---|
Date1904 | *bool |
Cho biết liệu workbook có sử dụng hệ thống ngày 1904 hay không |
FilterPrivacy | *bool |
Quyền riêng tư bộ lọc, cho biết liệu ứng dụng có kiểm tra thông tin cá nhân trong workbook hay không |
CodeName | *string |
Tên mã |
Lấy Thuộc tính Workbook
func (f *File) GetWorkbookProps() (WorkbookPropsOptions, error)
GetWorkbookProps được sử dụng để thu được các thuộc tính của workbook.
Thiết lập Đầu trang và Cuối trang
func (f *File) SetHeaderFooter(sheet string, opts *HeaderFooterOptions) error
Thiết lập đầu trang và cuối trang của bảng tính dựa trên tên bảng tính được cung cấp và các ký tự điều khiển.
Đầu trang và cuối trang bao gồm các trường sau:
Trường | Mô tả |
---|---|
AlignWithMargins | Thiết lập việc căn chỉnh đầu trang và cuối trang với mép trang |
DifferentFirst | Thiết lập đầu trang và cuối trang cho trang đầu tiên |
DifferentOddEven | Thiết lập đầu trang và cuối trang cho trang lẻ và chẵn |
ScaleWithDoc | Thiết lập đầu trang và cuối trang tỷ lệ với tài liệu |
OddFooter | Ký tự điều khiển cho cuối trang của trang lẻ, được sử dụng để thiết lập cuối trang cho trang đầu tiên khi giá trị của DifferentOddEven là false |
OddHeader | Ký tự điều khiển cho đầu trang của trang lẻ, được sử dụng để thiết lập đầu trang cho trang đầu tiên khi giá trị của DifferentOddEven là false |
EvenFooter | Ký tự điều khiển cho cuối trang của trang chẵn |
EvenHeader | Ký tự điều khiển cho đầu trang của trang chẵn |
FirstFooter | Ký tự điều khiển cho cuối trang của trang đầu tiên |
FirstHeader | Ký tự điều khiển cho đầu trang của trang đầu tiên |
Các mã định dạng trong bảng dưới đây có thể được sử dụng cho 6 trường kiểu chuỗi: OddHeader
, OddFooter
, EvenHeader
, EvenFooter
, FirstFooter
, FirstHeader
Mã định dạng | Mô tả |
---|---|
&& |
Ký tự "&" |
&font-size |
Kích cỡ font chữ, với kích cỡ font là một kích cỡ font chữ thập phân tính bằng điểm |
&"font name,font type" |
Chuỗi tên font chữ, tên font và chuỗi loại font chữ, loại font |
&"-,Regular" |
Định dạng văn bản thông thường. Tắt chế độ in đậm và in nghiêng |
&A |
Tên bảng tính hiện tại |
&B hoặc &"-,Bold" |
Định dạng văn bản in đậm, tắt hoặc bật, mặc định là tắt |
&D |
Ngày hiện tại |
&C |
Phần trung tâm |
&E |
Gạch chân đôi cho văn bản |
&F |
Tên tệp làm việc hiện tại |
&G |
Chỉ định đối tượng như nền (hiện không được hỗ trợ) |
&H |
Bóng văn bản |
&I hoặc &"-,Italic" |
Văn bản nghiêng |
&K |
Định dạng màu chữ theo định dạng màu RGB trong RRGGBB. Màu chủ đề được chỉ định dưới dạng TTSNNN, trong đó TT là ID màu chủ đề, S là độ sáng hoặc bóng của "+", "-", là giá trị của độ sáng hoặc bóng |
&L |
Phần bên trái |
&N |
Tổng số trang |
&O |
Định dạng văn bản đánh dấu |
&P[[+\|-]n] |
Nếu không có hậu tố tùy chọn, số trang hiện tại (thập phân) |
&R |
Phần bên phải |
&S |
Gạch ngang văn bản |
&T |
Giờ hiện tại |
&U |
Thêm gạch chân đơn vào văn bản. Chế độ mặc định là tắt |
&X |
Định dạng số mũ |
&Y |
Định dạng số mũ thấp |
&Z |
Đường dẫn tệp làm việc hiện tại |
Ví dụ:
err := f.SetHeaderFooter("Sheet1", &excelize.HeaderFooterOptions{
DifferentFirst: true,
DifferentOddEven: true,
OddHeader: "&R&P",
OddFooter: "&C&F",
EvenHeader: "&L&P",
EvenFooter: "&L&D&R&T",
FirstHeader: `&CỞớớớớớớớớớớớớớớớớớớớớớớớớen &"-,Bold"Bold&"-,Regular"HeaderU+000A&D`,
})
Ví dụ trên chứa các định dạng sau:
- Trang đầu tiên có đầu trang và cuối trang riêng
- Trang lẻ và chẵn có đầu trang và cuối trang khác nhau
- Phần bên phải của đầu trang trang lẻ là số trang hiện tại
- Phần trung tâm của cuối trang trang lẻ là tên tệp của tệp làm việc hiện tại
- Phần bên trái là số trang hiện tại trong đầu trang trang chẵn
- Phần bên trái là ngày hiện tại và phần bên phải của cuối trang trang chẵn là thời gian hiện tại
- Văn bản trên dòng đầu tiên ở phần trung tâm của trang đầu tiên là "Đầu trang Trung tâm In đậm", và dòng thứ hai là ngày
- Không có cuối trang trang đầu tiên
Đặt Tên
func (f *File) SetDefinedName(definedName *DefinedName) error
Đặt tên và phạm vi tham chiếu dựa trên tên đã cho, với phạm vi mặc định là workbook. Ví dụ:
err := f.SetDefinedName(&excelize.DefinedName{
Name: "Amount",
RefersTo: "Sheet1!$A$2:$D$5",
Comment: "ghi chú tên đã định nghĩa",
Scope: "Sheet2",
})
Đặt khu vực in và tiêu đề in của bảng tính:
if err := f.SetDefinedName(&excelize.DefinedName{
Name: "_xlnm.Print_Area",
RefersTo: "Sheet1!$A$1:$Z$100",
Scope: "Sheet1",
}); err != nil {
fmt.Println(err)
}
if err := f.SetDefinedName(&excelize.DefinedName{
Name: "_xlnm.Print_Titles",
RefersTo: "Sheet1!$A:$A,Sheet1!$1:$1",
Scope: "Sheet1",
}); err != nil {
fmt.Println(err)
}
Lấy Tên
func (f *File) GetDefinedName() []DefinedName
Lấy danh sách tên của workbook và bảng tính trong phạm vi.
Xóa Tên
func (f *File) DeleteDefinedName(definedName *DefinedName) error
Xóa tên đã định nghĩa dựa trên tên đã cho và phạm vi tên, với phạm vi mặc định là workbook. Ví dụ:
err := f.DeleteDefinedName(&excelize.DefinedName{
Name: "Amount",
Scope: "Sheet2",
})
Thiết lập Thuộc Tính Ứng Dụng Workbook
func (f *File) SetAppProps(appProperties *AppProperties) error
Thiết lập các thuộc tính ứng dụng của workbook. Các thuộc tính có thể thiết lập bao gồm:
Thuộc Tính | Mô Tả |
---|---|
Application | Tên của ứng dụng tạo ra tài liệu này |
ScaleCrop | Chỉ định hiển thị hình thu nhỏ của tài liệu. Thiết lập thành true để thu nhỏ hình thu nhỏ của tài liệu và false để cắt hình thu nhỏ tài liệu |
DocSecurity | Cấp độ bảo mật tài liệu được biểu thị dưới dạng giá trị số |
Company | Tên của công ty liên kết với tài liệu |
LinksUpToDate | Thiết lập xem các siêu liên kết trong tài liệu có còn được cập nhật hay không. Thiết lập thành true cho siêu liên kết được cập nhật và false cho siêu liên kết lỗi thời |
HyperlinksChanged | Chỉ định xem các siêu liên kết mới được chỉ định trong phần này có nên được sử dụng để cập nhật mối quan hệ siêu liên kết lần tiếp theo khi tài liệu này được mở hay không |
AppVersion | Chỉ định phiên bản của ứng dụng tạo ra tài liệu này. Giá trị nên ở định dạng XX.YYYY, trong đó X và Y là giá trị số, nếu không tập tin sẽ không tuân thủ theo tiêu chuẩn |
Ví dụ:
err := f.SetAppProps(&excelize.AppProperties{
Application: "Microsoft Excel",
ScaleCrop: true,
DocSecurity: 3,
Company: "Tên Công ty",
LinksUpToDate: true,
HyperlinksChanged: true,
AppVersion: "16.0000",
})
Lấy Thuộc Tính Ứng Dụng Workbook
func (f *File) GetAppProps() (*AppProperties, error)
Lấy các thuộc tính ứng dụng của workbook.
Thiet lập các thuộc tính tài liệu
func (f *File) SetDocProps(docProperties *DocProperties) error
Thiết lập các thuộc tính cốt lõi của workbook. Các thuộc tính có thể thiết lập bao gồm:
Thuộc tính | Mô tả |
---|---|
Category | Thể loại nội dung của tài liệu |
ContentStatus | Tình trạng nội dung của tài liệu. Ví dụ, các giá trị có thể bao gồm "Bản nháp", "Đã xem xét" và "Cuối cùng" |
Created | Thời gian tài liệu được tạo, biểu diễn dưới dạng chuỗi định dạng ISO 8601 UTC, ví dụ 2019-06-04T22:00:10Z |
Creator | Người tạo tài liệu |
Description | Mô tả về nội dung tài nguyên |
Identifier | Một tham chiếu rõ ràng đến tài nguyên trong ngữ cảnh cụ thể |
Keywords | Từ khóa của tài liệu |
Language | Ngôn ngữ chính của nội dung tài liệu |
LastModifiedBy | Người dùng đã sửa đổi cuối cùng tài liệu |
Modified | Thời gian khi tài liệu được sửa đổi, biểu diễn dưới dạng chuỗi định dạng ISO 8601 UTC, ví dụ 2019-06-04T22:00:10Z |
Revision | Phiên bản sửa đổi của tài liệu |
Subject | Chủ đề của tài liệu |
Title | Tiêu đề của tài liệu |
Version | Số phiên bản, được thiết lập bởi người dùng hoặc ứng dụng |
Ví dụ:
err := f.SetDocProps(&excelize.DocProperties{
Category: "thể loại",
ContentStatus: "Bản nháp",
Created: "2019-06-04T22:00:10Z",
Creator: "Go Excelize",
Description: "Tệp này được tạo bởi Go Excelize",
Identifier: "xlsx",
Keywords: "Bảng tính",
LastModifiedBy: "Tác giả Go",
Modified: "2019-06-04T22:00:10Z",
Revision: "0",
Subject: "Chủ đề thử nghiệm",
Title: "Tiêu đề thử nghiệm",
Language: "en-US",
Version: "1.0.0",
})
Lấy các thuộc tính tài liệu
func (f *File) GetDocProps() (*DocProperties, error)
Lấy các thuộc tính cốt lõi của workbook.
Bảo vệ workbook
func (f *File) ProtectWorkbook(opts *WorkbookProtectionOptions) error
Bảo vệ cấu trúc của workbook bằng mật khẩu để ngăn ngừa người dùng khác xem các bảng tính ẩn, thêm, di chuyển hoặc ẩn bảng tính, và đổi tên các bảng tính. Trường AlgorithmName
hỗ trợ chỉ định các thuật toán băm XOR, MD4, MD5, SHA-1, SHA-256, SHA-384, hoặc SHA-512. Nếu không có thuật toán băm được chỉ định, thuật toán XOR sẽ được sử dụng mặc định. Ví dụ, bảo vệ cấu trúc của workbook bằng mật khẩu:
err := f.ProtectWorkbook(&excelize.WorkbookProtectionOptions{
Password: "mật khẩu",
LockStructure: true,
})
WorkbookProtectionOptions định nghĩa các tùy chọn cho việc bảo vệ workbook.
type WorkbookProtectionOptions struct {
AlgorithmName string
Password string
LockStructure bool
LockWindows bool
}
Bỏ bảo vệ workbook
func (f *File) UnprotectWorkbook(password ...string) error
Bỏ bảo vệ workbook, chỉ định một tham số mật khẩu tùy chọn để xác minh và loại bỏ sự bảo vệ của workbook.