ภาพรวม
Spreadsheet documents คือเอกสารที่บรรจุข้อมูลในรูปแบบตาราง — ภายในแถวและคอลัมน์ พวกมันยังเป็นที่รู้จักในชื่อ workbooks มีรูปแบบของเอกสารสเปรดชีตหลายประเภท — Office Open XML (เช่น XLSX, XLSM ฯลฯ), Microsoft Excel Binary File Format (XLS, XLT), OpenDocument Spreadsheet format (ODS, FODS, OTS), รูปแบบที่ใช้ตัวคั่นแบบข้อความ (เช่น CSV, TSV เป็นต้น) ฯลฯ ทั้งหมดนี้รวมกันเป็นที่เรียกว่า Spreadsheet formats family GroupDocs.Viewer รองรับเกือบทุกรูปแบบสเปรดชีตในการนำเข้าและสามารถเรนเดอร์ (แปลง) เป็น HTML, PDF, PNG และ JPEG บทความนี้อธิบายวิธีทำและตัวเลือกที่มีพร้อมกับเหตุผลที่ควรใช้แต่ละตัวเลือก
การใช้งานพื้นฐาน
ก่อนอื่นเราต้องพูดถึงตัวเลือก มีคลาสแยกใน API สาธารณะ: SpreadsheetOptions ใน GroupDocs.Viewer.Options คลาสนี้ออกแบบมาโดยเฉพาะสำหรับการปรับการเรนเดอร์ของตระกูลรูปแบบ Spreadsheet สามารถเข้าถึงได้จากตัวเลือกการดูสี่แบบผ่านคุณสมบัติ SpreadsheetOptions :
- HtmlViewOptions.SpreadsheetOptions เมื่อเรนเดอร์เอกสาร Spreadsheet เป็น HTML
- PdfViewOptions.SpreadsheetOptions เมื่อเรนเดอร์เอกสาร Spreadsheet เป็น PDF
- PngViewOptions.SpreadsheetOptions เมื่อเรนเดอร์เอกสาร Spreadsheet เป็น PNG
- JpgViewOptions.SpreadsheetOptions เมื่อเรนเดอร์เอกสาร Spreadsheet เป็น JPEG
หากไม่ได้ระบุอย่างชัดเจน คุณสมบัติ SpreadsheetOptions จะมีค่าเริ่มต้นโดยอ้อมของอินสแตนซ์คลาส SpreadsheetOptions ซึ่งจะอธิบายต่อในบทความนี้
โดยสังเขป การเรนเดอร์เอกสาร Spreadsheet ด้วย GroupDocs.Viewer นั้นง่ายมากและคล้ายกับรูปแบบอื่น ๆ — สร้างอินสแตนซ์ของ ViewOptions สร้างอินสแตนซ์ของ Viewer พร้อมระบุไฟล์ Spreadsheet เข้าไป แล้วเรียกเมธอด Viewer.View(viewOptions) ตัวอย่างโค้ดต่อไปนี้แสดงการเรนเดอร์ไฟล์ Spreadsheet เดียวเป็นสี่รูปแบบผลลัพธ์: HTML, PDF, PNG, และ JPEG โปรดทราบว่า ยกเว้นการสร้างอินสแตนซ์ของคลาสตัวเลือกแล้วไม่มีการปรับแต่งที่เกี่ยวกับสเปรดชีตใด ๆ ดังนั้นตัวเลือกสเปรดชีตทั้งหมดจะใช้ค่าเริ่มต้น
using GroupDocs.Viewer;
using GroupDocs.Viewer.Options;
// ...
HtmlViewOptions htmlOptions = HtmlViewOptions.ForEmbeddedResources("worksheet_{0}.html");
PdfViewOptions pdfOptions = new PdfViewOptions("Output_spreadsheet.pdf");
PngViewOptions pngOptions = new PngViewOptions("worksheet_{0}.png");
JpgViewOptions jpegOptions = new JpgViewOptions("worksheet_{0}.jpeg");
using (Viewer viewer = new Viewer("spreadsheet.xlsx"))
{
viewer.View(htmlOptions);
viewer.View(pdfOptions);
viewer.View(pngOptions);
viewer.View(jpegOptions);
}
ต่อไปมาพูดถึง worksheets ทุกสเปรดชีตจะมีอย่างน้อยหนึ่ง worksheet ในซอฟต์แวร์ประมวลผลตารางส่วนใหญ่เช่น Microsoft Excel worksheets จะปรากฏเป็น tabs บางรูปแบบสเปรดชีตอาจมีเพียง worksheet เดียว เช่น รูปแบบข้อความที่ใช้ตัวคั่น (CSV, TSV ฯลฯ)
โดยค่าเริ่มต้น GroupDocs.Viewer จะเรนเดอร์ทุก worksheet ภายในสเปรดชีตที่กำหนด แต่สามารถเปลี่ยนแปลงได้ เมธอด Viewer.View() มี overload ที่รับชุดหมายเลขหน้าเป็นพารามิเตอร์ที่ 2 — Int32[] pageNumbers เมื่อใช้พารามิเตอร์นี้ จะเรนเดอร์เฉพาะหน้าเหล่านั้นเท่านั้น พารามิเตอร์นี้เป็นสากลและใช้กับทุกรูปแบบที่รองรับหน้า แต่ในบริบทของตระกูล Spreadsheet จะหมายถึงหมายเลข worksheet ที่ต้องการดู
โปรดจำว่า การนับหน้าโดยทั่วไปและการนับ worksheet โดยเฉพาะเป็นแบบ 1‑based ไม่ใช่ 0‑based ดังนั้นจะเริ่มจาก “1” ไม่ใช่ “0”
ตัวอย่างต่อไปแสดงวิธีเรนเดอร์ worksheet ที่ 1 และ 3 เป็น PNG ในสเปรดชีตที่มี 3 worksheet
using GroupDocs.Viewer;
using GroupDocs.Viewer.Options;
// ...
PngViewOptions pngOptions = new PngViewOptions("worksheet_{0}.png");
using (Viewer viewer = new Viewer("spreadsheet.xlsx"))
{
viewer.View(pngOptions, 1, 3);
}
การแยก worksheet เป็นหน้า
GroupDocs.Viewer เรนเดอร์เอกสารเป็นหน้า โดยที่ “หน้า” หมายถึงพื้นที่สี่เหลี่ยมผืนผ้าขนาดเล็กพอ ๆ กับหน้าจอหรือกระดาษ A4 อย่างไรก็ตาม worksheet อาจมีขนาดใหญ่มาก ตัวอย่างเช่น รูปแบบ XLS ที่ล้าสมัยรองรับ สูงสุด 256 คอลัมน์และ 65536 แถว ในขณะที่รูปแบบใหม่กว่า XLSX (Office Open XML Workbook) และ Microsoft Excel รองรับ สูงสุด 16384 คอลัมน์และ 1048576 แถว การ “ฟิต” worksheet ลงในหน้าเป็นส่วนสำคัญของการเรนเดอร์สเปรดชีตด้วย GroupDocs.Viewer เพื่อให้ worksheet พอดีกับหน้า(หรือหลายหน้า) GroupDocs.Viewer จะทำการ worksheet splitting — แบ่ง worksheet เป็นหลายส่วนสี่เหลี่ยมและวางแต่ละส่วนบนหน้าแยกกัน มี 5 วิธีการแตกต่างกันที่อธิบายไว้ด้านล่าง
สิ่งสำคัญ — วิธีการแยกทั้งหมดนี้กำหนดโดยวิธีเดียวกัน — ใช้เมธอดสเตติก (factory method) ที่สร้างอินสแตนซ์ของคลาส SpreadsheetOptions
เรนเดอร์ worksheet ทั้งหมดบนหน้าเดียว
SpreadsheetOptions.ForOnePagePerSheet()
วิธีที่ง่ายที่สุด — ปิดการแยกและปรับขนาดหน้าตามให้พอดีกับเนื้อหาทั้งหมดของ worksheet ทั้งหมด นี่เป็นตัวเลือกที่ดีเมื่อทราบแล้วว่า worksheet มีขนาดเล็ก อย่างไรก็ตาม หาก worksheet มีขนาดใหญ่มาก วิธีนี้อาจให้ผลลัพธ์แย่ ๆ โดยเฉพาะเมื่อเรนเดอร์เป็น HTML เอกสาร HTML ที่ได้อาจมีขนาดหลายสิบหรือหลายร้อย MiB ซึ่งอาจทำให้เบราว์เซอร์ทำงานช้า หรือเมื่อเรนเดอร์เป็น JPEG หากความกว้างหรือความสูงเกินขีดจำกัดสูงสุด 65535 พิกเซลก็จะเกิดปัญหา ดังนั้นใช้โหมดนี้อย่างระมัดระวัง
แยก worksheet ตามการแบ่งหน้า (page breaks)
SpreadsheetOptions.ForRenderingByPageBreaks()
Microsoft Excel เองจะเพิ่มการแบ่งหน้าอัตโนมัติตามขนาดกระดาษและการตั้งค่าหน้า เช่น แนวตั้งและระยะขอบ หากสลับไปที่แท็บ “View” แล้วเลือก “Page Break Preview” จะเห็นเส้นสีฟ้าที่แบ่งพื้นที่ worksheet เป็นส่วนสี่เหลี่ยมแต่ละส่วน ซึ่งแต่ละส่วนจะมีป้าย “Page 1”, “Page 2” ฯลฯ นี่คือวิธีที่ Excel “แนะนำ” ให้แยก worksheet เป็นหน้า
ด้วยวิธีนี้ GroupDocs.Viewer จะทำตาม Excel และแยก worksheet ตามการแบ่งหน้าเช่นเดียวกับ Excel
ต้องบอกว่า ตัวเลือกนี้ — การแยก worksheet ตามการแบ่งหน้า — เป็นตัวเลือกเริ่มต้นของคุณสมบัติ BaseViewOptions.SpreadsheetOptions ดังนั้นเมื่อสร้างอินสแตนซ์ของคลาส view options ตัวเลือก [ForRenderingByPageBreaks()] จะถูกเลือกโดยอัตโนมัติ
เรนเดอร์เฉพาะ Print Area
SpreadsheetOptions.ForRenderingPrintArea()
นอกจากการแบ่งหน้าแล้ว Excel ยังมีแนวคิด “Print Area” ซึ่งหมายถึงช่วงเซลล์หนึ่งหรือหลายช่วงที่กำหนดให้พิมพ์ ส่วนเนื้อหานอก Print Area จะไม่ถูกพิมพ์เลย เพื่อเพิ่มช่วงเซลล์ลงใน Print Area ให้ไปที่แท็บ “Page Layout” คลิกปุ่ม “Print Area” แล้วเลือก “Set Print Area” (ดูภาพด้านล่าง) หากต้องการเพิ่มช่วงใหม่ให้เลือกช่วงนั้น คลิก “Print Area” แล้วเลือก “Add to Print Area” ในโหมด “Page Break Preview” จะเห็นทุกช่วงที่อยู่ใน Print Area
เรนเดอร์ Print Area แล้วแยกตามการแบ่งหน้า
SpreadsheetOptions.ForRenderingPrintAreaAndPageBreaks()
GroupDocs.Viewer มีฟีเจอร์พิเศษ — การรวม Print Area กับการแบ่งหน้าในโหมดเดียว ในกรณีนี้ Viewer จะพิจารณาทั้งช่วงเซลล์ของ Print Area และการแบ่งหน้าใน worksheet พร้อมกันเพื่อแยก worksheet เป็นหน้า
ในภาพต่อไปเส้นสีแดงแสดง Print Area และเส้นสีฟ้าแสดงการแบ่งหน้า
แยก worksheet เป็นหน้าโดยกำหนดจำนวนแถวและคอลัมน์เอง
SpreadsheetOptions.ForSplitSheetIntoPages(int countRowsPerPage)
SpreadsheetOptions.ForSplitSheetIntoPages(int countRowsPerPage, int countColumnsPerPage)
บางครั้งวิธีการแยกที่อธิบายไว้ข้างต้นอาจไม่เหมาะสม หรือสเปรดชีตอาจอยู่ในรูปแบบที่ไม่รองรับการแบ่งหน้าและ Print Area เช่น CSV ในกรณีเหล่านี้ GroupDocs.Viewer ให้กำหนดจำนวนแถวและ/หรือคอลัมน์ที่ต้องการให้ปรากฏบนแต่ละหน้าเอง สรุปแล้ว ความแตกต่างระหว่างการแยกโดยใช้แค่แถวกับการแยกโดยใช้แถวและคอลัมน์จะแสดงในภาพด้านล่าง
หากใช้ overload ตัวแรกของเมธอด ForSplitSheetIntoPages (พารามิเตอร์เดียว) จะเปิดการแยกโดยใช้แค่แถว หากใช้ overload ตัวที่สอง (สองพารามิเตอร์) จะเปิดการแยกโดยใช้แถวและคอลัมน์พร้อมกัน
การปรับตัวเลือกเพิ่มเติม
ทั้งหมดที่อธิบายมาข้างต้นเป็นพื้นฐานและเพียงพอสำหรับการเรนเดอร์สเปรดชีตด้วย GroupDocs.Viewer อย่างไรก็ตาม ยังมีตัวเลือกเพิ่มเติมหลายอย่างที่ไม่บังคับแต่ช่วยให้ผู้ใช้ปรับผลลัพธ์การเรนเดอร์ได้ละเอียดยิ่งขึ้น
บางส่วนของตัวเลือกเหล่านี้เป็นคุณสมบัติของคลาส SpreadsheetOptions ซึ่งเข้าถึงได้ผ่านคุณสมบัติ SpreadsheetOptions ของคลาส view options ส่วนอื่น ๆ อยู่ในคลาสเชิงนามธรรม ViewOptions ที่ใช้ร่วมกันสำหรับโหมดเรนเดอร์ทั้งสี่
เรนเดอร์หัวแถวและหัวคอลัมน์
เมื่อ MS Excel หรือโปรแกรมประมวลผลตารางคล้ายกันเปิดสเปรดชีต จะมีการแสดงหัวคอลัมน์ (A, B, C, AA, AB, …) และหัวแถว (1, 2, 3, …, 1048576) โดยค่าเริ่มต้น GroupDocs.Viewer ไม่แสดงหัวเหล่านี้ เพราะเป็นส่วนของอินเทอร์เฟซของโปรแกรมประมวลผลตาราง ไม่ใช่ของเอกสารเอง แต่สามารถเปลี่ยนได้ด้วยคุณสมบัติ RenderHeadings ที่เป็นประเภท boolean ค่าเริ่มต้นคือ false หากตั้งเป็น true หัวแถวและคอลัมน์จะปรากฏในเอกสารผลลัพธ์ ตามที่แสดงในภาพด้านล่าง
เรนเดอร์เส้นกริดของ worksheet
แนวคิดของตัวเลือกนี้คล้ายกับข้อก่อนหน้า โดยค่าเริ่มต้น GroupDocs.Viewer ไม่แสดงเส้นกริดระหว่างเซลล์ เพราะเส้นกริดไม่ใช่ส่วนของสเปรดชีต แต่เป็นวิธีการแสดงผลของโปรแกรมประมวลผลตาราง อย่างไรก็ตาม สามารถจำลองพฤติกรรมของ MS Excel ได้โดยใช้คุณสมบัติ RenderGridLines ที่เป็นประเภท boolean ตั้งค่าเป็น true แล้วเส้นกริดจะปรากฏในเอกสารผลลัพธ์ ตามภาพด้านล่าง
ควบคุมการล้นของข้อความในเซลล์
เป็นสถานการณ์ที่พบบ่อยเมื่อข้อความยาวเกินขอบเขตของเซลล์ จะทำอย่างไรให้แสดงได้อย่างเหมาะสม? GroupDocs.Viewer มีคุณสมบัติพิเศษ SpreadsheetOptions.TextOverflowMode เพื่อแก้ปัญหานี้ คุณสมบัติ TextOverflowMode มีค่าเป็นชนิดเดียวกับชื่อของมันเอง (TextOverflowMode) ซึ่งเป็น enum ที่มี 4 รายการอธิบายด้านล่าง
OverlayIfNextIsEmpty
ค่าเริ่มต้นของคุณสมบัติ SpreadsheetOptions.TextOverflowMode คือ OverlayIfNextIsEmpty ซึ่งจำลองพฤติกรรมเริ่มต้นของ Microsoft Excel ค่าที่นี้อนุญาตให้ข้อความล้นไปยังเซลล์ข้างเคียงได้ แต่เฉพาะเมื่อเซลล์ข้างเคียงว่างเปล่า หากเซลล์ข้างเคียงไม่ว่างข้อความที่ล้นจะถูกตัด
ภาพด้านบนแสดงไฟล์ HTML ที่เรนเดอร์จาก XLSX ด้วยค่า OverlayIfNextIsEmpty โปรดสังเกตเซลล์ “B2” มีข้อความยาวและถูกตัดเพราะเซลล์ “C2” ไม่ว่าง ส่วนเซลล์ “C3” มีข้อความยาวที่ล้นไปยัง “D2” และ “E2” เนื่องจากเซลล์เหล่านั้นว่าง
Overlay
ค่า TextOverflowMode.Overlay มีลักษณะคล้ายกับค่าเดิมแต่ทำงานรุนแรงกว่า: ข้อความยาวที่ไม่พอดีในเซลล์ต้นทางจะล้นไปยังเซลล์ข้างเคียงโดยไม่คำนึงว่ามีข้อมูลอยู่หรือไม่ หากเซลล์ข้างเคียงมีข้อมูลอยู่จะถูกลบ
ภาพด้านบนแสดงการทำงานของค่า Overlay ข้อความยาวจากเซลล์ “B2” ล้นไปยัง “C2”, “D2”, “E2”, “F2” ทำให้ข้อความเดิมใน “C2” และ “F2” ถูกลบ
HideText
โหมด TextOverflowMode.HideText ทำงานตรงกันข้ามกับ Overlay — แทนที่จะแสดงล้น จะตัดข้อความที่ไม่พอดีออกโดยไม่สนใจว่ามีพื้นที่ว่างในเซลล์ข้างเคียงหรือไม่
ในภาพด้านบนสามารถเห็นได้ว่าเซลล์ “C3” แม้จะมีพื้นที่ว่างใน “D3” เป็นต้น แต่ข้อความก็ถูกตัดอย่างไม่มีเงื่อนไข
AutoFitColumn
ค่า TextOverflowMode.AutoFitColumn แก้ปัญหาโดยเพิ่มความกว้างของคอลัมน์ให้พอดีกับข้อความของเซลล์ใด ๆ ดังนั้นไม่ว่าข้อความจะยาวแค่ไหน ความกว้างของคอลัมน์ที่เซลล์นั้นอยู่จะถูกขยายเพื่อให้ข้อความทั้งหมดแสดงได้
ภาพด้านบนแสดงการทำงานของ AutoFitColumn แน่นอนว่าในบางกรณีวิธีนี้อาจไม่เหมาะสม โดยเฉพาะเมื่อข้อความในเซลล์ยาวมาก ทำให้หน้าแสดงกว้างเกินไปและต้องเลื่อนแนวนอน
เรนเดอร์แถวและคอลัมน์ที่ซ่อนอยู่
Microsoft Excel และโปรแกรมประมวลผลตารางอื่น ๆ อนุญาตให้ซ่อนแถวหรือคอลัมน์บางส่วน โดยค่าเริ่มต้น GroupDocs.Viewer จะไม่เรนเดอร์แถวหรือคอลัมน์ที่ซ่อนอยู่ แต่พฤติกรรมนี้สามารถเปลี่ยนได้โดยตั้งคุณสมบัติ ViewOptions.SpreadsheetOptions.RenderHiddenRows และ ViewOptions.SpreadsheetOptions.RenderHiddenColumns ให้เป็น true จะทำให้แถวและคอลัมน์ที่ซ่อนปรากฏในไฟล์ผลลัพธ์เมื่อเรนเดอร์เป็น HTML, PDF, PNG หรือ JPEG
เรนเดอร์ worksheet ที่ซ่อนอยู่
เช่นเดียวกับแถวและคอลัมน์ที่ซ่อน ไฟล์สเปรดชีตอาจมี worksheet ที่ซ่อนอยู่ และโดยค่าเริ่มต้น GroupDocs.Viewer จะไม่เรนเดอร์ worksheet ที่ซ่อนเหล่านั้น แต่สามารถเปลี่ยนได้โดยใช้คุณสมบัติ RenderHiddenPages ตั้งค่าเป็น true ต้องบอกว่า RenderHiddenPages อยู่ในคลาสเชิงนามธรรม BaseViewOptions ไม่ได้อยู่ใน SpreadsheetOptions
ข้ามแถวและคอลัมน์ที่ว่างเปล่า
บางสเปรดชีตเป็น “sparse” — มีช่องว่างว่างเปล่ามาก ซึ่งอาจทำให้ไฟล์ใหญ่เกินไป GroupDocs.Viewer มีฟีเจอร์ให้ข้ามแถวและคอลัมน์ที่ว่างจากการเรนเดอร์ หากเปิดใช้งาน แถวและ/หรือคอลัมน์ที่ว่างจะไม่รวมอยู่ใน HTML, PDF, PNG หรือ JPEG คุณสมบัติ boolean SpreadsheetOptions.SkipEmptyRows และ SpreadsheetOptions.SkipEmptyColumns ควบคุมฟีเจอร์นี้
ภาพด้านบนแสดงให้เห็นว่า SkipEmptyRows และ SkipEmptyColumns ถูกเปิดใช้งาน
เรนเดอร์หรือซ่อนคอมเมนต์ของเซลล์
เซลล์ในสเปรดชีตอาจมีคอมเมนต์ และโดยค่าเริ่มต้น GroupDocs.Viewer จะเรนเดอร์คอมเมนต์ทั้งหมด แต่สามารถปิดได้ด้วยคุณสมบัติ BaseViewOptions.RemoveComments หากตั้งค่าเป็น true จะไม่มีคอมเมนต์ใด ๆ ถูกเรนเดอร์ โปรดทราบว่าคุณสมบัตินี้อยู่ในคลาส BaseViewOptions ไม่ได้อยู่ใน SpreadsheetOptions
ภาพด้านบนแสดงการเรนเดอร์ไฟล์ XLSX ที่มีคอมเมนต์ของเซลล์เป็น PNG ด้วยตัวเลือกเริ่มต้น — คอมเมนต์ของเซลล์ “E2” ปรากฏในไฟล์ PNG ผลลัพธ์
ตั้งค่าขอบกระดาษของ worksheet ในหน้า PDF ผลลัพธ์
เมื่อเรนเดอร์ worksheet เป็น PDF สามารถควบคุมขอบกระดาษ — ระยะห่างเป็นเซนติเมตรจากขอบหน้ากระดาษถึงเนื้อหา มี 4 คุณสมบัติสำหรับควบคุมขอบบน, ขวา, ล่าง, ซ้าย:
SpreadsheetOptions.TopMarginSpreadsheetOptions.RightMarginSpreadsheetOptions.BottomMarginSpreadsheetOptions.LeftMargin
โดยค่าเริ่มต้นคุณสมบัติทั้ง 4 มีค่าเป็นลบ ซึ่งหมายความว่าขอบเริ่มต้นจะถูกกำหนดโดย GroupDocs.Viewer อย่างไรก็ตามสามารถตั้งค่าเหล่านี้ได้โดยตรง ต้องเน้นว่าขอบกระดาษจะถูกนำไปใช้เฉพาะเมื่อรูปแบบเป้าหมายเป็น PDF
โค้ดต่อไปนี้แสดงการสร้าง PdfViewOptions, ตั้งค่าขอบทั้ง 4 ด้าน และเรนเดอร์เอกสาร:
using GroupDocs.Viewer;
using GroupDocs.Viewer.Options;
// ...
PdfViewOptions pdfViewOptions = new PdfViewOptions("Output.pdf");
pdfViewOptions.SpreadsheetOptions = SpreadsheetOptions.ForOnePagePerSheet();
pdfViewOptions.SpreadsheetOptions.TopMargin = 2;
pdfViewOptions.SpreadsheetOptions.BottomMargin = 4;
pdfViewOptions.SpreadsheetOptions.LeftMargin = 8;
pdfViewOptions.SpreadsheetOptions.RightMargin = 0;
using (var viewer = new Viewer("spreadsheet.xlsx"))
{
viewer.View(pdfViewOptions);
}
ภาพต่อไปแสดงผลลัพธ์:
สรุป
รูปแบบสเปรดชีตค่อนข้างซับซ้อน และเอกสารอาจมีเนื้อหาที่แตกต่างกันในแง่ของประเภทและความยาว ในหลายกรณีการเรนเดอร์สเปรดชีตที่ซับซ้อนด้วยตัวเลือกเริ่มต้นอาจทำไม่ได้ จึงเป็นเหตุผลที่ GroupDocs.Viewer มีชุดคุณสมบัติที่ครอบคลุมนี้; ด้วยคุณสมบัติเหล่านี้ผู้ใช้ทุกคนจะสามารถปรับการเรนเดอร์ให้ตรงกับความต้องการของตนเองได้
ดูเพิ่มเติม
- Render Excel and Apple Numbers spreadsheets as HTML, PDF, and image files
- Split a worksheet into pages
- Specify spreadsheet rendering options
ดาวน์โหลดเวอร์ชันทดลองฟรี
คุณสามารถดาวน์โหลดเวอร์ชันทดลองฟรีของ GroupDocs.Viewer สำหรับ .NET ได้จาก releases.groupdocs.com. คุณยังสามารถรับใบอนุญาตชั่วคราวเพื่อทดลองใช้ทุกฟีเจอร์และความสามารถโดยไม่มีข้อจำกัดได้จาก here.