کار با مدیریت صفحات گسترده
کار با مدیریت صفحهگستردهها
این راهنما عملیات روزانه ساخت و ویرایش صفحهگستردهها را قدم به قدم توضیح میدهد: ایجاد کتابکار، نوشتن مقادیر سلولها، افزودن فرمولها، ساخت جدولها و صادرات به CSV.
ایجاد یک کتابکار و نوشتن سلولها
NewWorkbook() یک کتابکار را برمیگرداند که یک ورق کاری از پیش موجود دارد. مقادیر را با Cells().Set(ref, value) بنویسید:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A1", "Item")
ws.Cells().Set("B1", "Category")
ws.Cells().Set("C1", "Price")
ws.Cells().Set("A2", "Widget A")
ws.Cells().Set("B2", "Gadgets")
ws.Cells().Set("C2", 12.99)
wb.Save("outputfiles/inventory.xlsx")خواندن سلولها
Cells().Get(ref) *Cell را برای یک مرجع بههمراه خطا در صورت نامعتبر بودن مرجع برمیگرداند:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("C2", 12.99)
cell, err := ws.Cells().Get("C2")
if err != nil {
fmt.Printf("Error: %v\n", err)
return
}
fmt.Printf("C2 = %v\n", cell.Value)از Cells().All() برای شمارش هر سلول پرشده در مجموعه استفاده کنید وقتی نیاز به پیمایش کل ورق دارید.
افزودن یک فرمول
Cell.SetFormula یک رشته فرمول را در یک سلول ذخیره میکند. ابتدا سلول را با Set ایجاد کنید، سپس فرمول را وصل کنید — فرمول هنگام باز شدن توسط Excel یا LibreOffice ارزیابی میشود، نه توسط کتابخانه:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("D2", nil)
cell, _ := ws.Cells().Get("D2")
cell.SetFormula("C2*2")ساخت یک جدول بر روی دادهها
به محض اینکه بازه دادههای شما پر شد، Worksheet.AddTable آن را به یک جدول ساختار یافته و نامدار تبدیل میکند:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A1", "Item")
ws.Cells().Set("A2", "Widget A")
tbl := ws.AddTable("A1:C2")
tbl.HasHeaderRow = true
tbl.StyleName = "TableStyleMedium6"
fmt.Printf("Created table %q covering %s\n", tbl.Name, tbl.Range)صادرات به CSV
Workbook.ExportToCSV ایندکس شیت دادهشده را به یک فایل CSV مینویسد با جداکنندهای که شما انتخاب میکنید:
wb := cells_foss.NewWorkbook()
if err := wb.ExportToCSV(0, "outputfiles/inventory.csv", ','); err != nil {
fmt.Fprintf(os.Stderr, "Error exporting: %v\n", err)
os.Exit(1)
}در جهت معکوس، Workbook.ImportFromCSV(path, sheetName, delimiter) یک فایل CSV را به یک شیت نامدار میخواند.
حذف یک سلول
Cells().Remove(ref) مقدار یک سلول را پاک میکند:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
ws.Cells().Set("A2", "Widget A")
if err := ws.Cells().Remove("A2"); err != nil {
fmt.Printf("Error removing cell: %v\n", err)
}نکات و بهترین روشها
- یک سلول را با
Setایجاد کنید قبل از اینکهSetFormulaرا روی آن فراخوانی کنید —SetFormulaبر روی یک*Cellموجود عمل میکند، نه یک رشته مرجع خالص. - هنگام استخراج یک کتاب کار که شامل چندین برگه کاری است، پارامتر اندیس برگه
ExportToCSVتعیین میکند کدام برگه کاری استخراج شود — اندیس0اولین برگه کاری است. - از
Cells().All()برای تکرار با بار خواندن بالا بر روی کل برگه استفاده کنید به جای این کهGetرا در یک حلقه برای هر مرجع ممکن فراخوانی کنید.
مشکلات رایج
| Issue | Cause | رفع |
|---|---|---|
SetFormula هیچ تأثیری ندارد | بر روی یک ارجاع سلول فراخوانی شد که هرگز ابتدا با Set ایجاد نشده بود | برای ایجاد سلول، ws.Cells().Set(ref, nil) را فراخوانی کنید، سپس Get کنید و SetFormula را فراخوانی کنید |
| خروجی CSV خالی است یا برگهٔ اشتباه | اندیس کاربرگ نادرست به ExportToCSV ارسال شد | تأیید کنید که اندیس با موقعیت کاربرگ موردنظر در Workbook.Worksheets همخوانی دارد |
Get یک خطا برمیگرداند | مرجع سلول در مجموعه وجود ندارد | تأیید کنید که مرجع قبلاً با Set تنظیم شده است، یا حالت «not found» را بهصورت صریح مدیریت کنید |
FAQ
آیا Cells().Remove تمام سطر یا ستون را حذف میکند؟
خیر — مقدار یک سلول را در مرجع داده شده پاک میکند.
آیا میتوانم جدولی بر روی بازهای بسازم که قبلاً یک ستون فرمول دارد؟
بله — AddTable بر روی بازه سلولی همانگونه که نوشته شده عمل میکند؛ فرمولهای موجود در بازه حفظ میشوند.
API Reference خلاصه
| کلاس / متد | توضیح |
|---|---|
Workbook.NewWorkbook | یک کتابکار جدید با یک صفحهکار ایجاد کنید |
Cells.Set / Get / Remove / All | نوشتن، خواندن، حذف و فهرست کردن سلولها |
Cell.SetFormula / GetFormula | پیوست کردن و خواندن یک رشته فرمول |
Worksheet.AddTable | ساخت یک جدول ساختار یافته بر روی بازهای از سلولها |
Workbook.ExportToCSV / ImportFromCSV | تبدیل بین XLSX و CSV |
همچنین ببینید:
- نمای کلی ویژگیها: استایلدهی، اعتبارسنجی داده، جداول، تصاویر، و استریمینگ
- Aspose.Cells — Enterprise Product Family
- Aspose.Cells — Enterprise Documentation