ระบุความเข้ากันได้ของโปรแกรมไฟล์ Excel ใน .NET

เนื้อหา
[ ]

การแนะนำ

ในโลกที่ขับเคลื่อนด้วยข้อมูลในปัจจุบัน การจัดการและแก้ไขไฟล์ Excel ด้วยโปรแกรมได้กลายมาเป็นสิ่งจำเป็นสำหรับนักพัฒนาหลายๆ คน หากคุณกำลังทำงานกับ Excel ใน .NET Aspose.Cells คือไลบรารีที่มีประสิทธิภาพที่ทำให้การสร้าง อ่าน แก้ไข และบันทึกไฟล์ Excel เป็นเรื่องง่าย คุณลักษณะที่สำคัญอย่างหนึ่งของไลบรารีนี้ช่วยให้คุณระบุความเข้ากันได้ของไฟล์ Excel ด้วยโปรแกรมได้ ในบทช่วยสอนนี้ เราจะมาสำรวจวิธีแก้ไขไฟล์ Excel โดยเฉพาะอย่างยิ่งการจัดการความเข้ากันได้โดยใช้ Aspose.Cells สำหรับ .NET เมื่ออ่านจบ คุณจะเข้าใจวิธีการตั้งค่าความเข้ากันได้สำหรับไฟล์ Excel โดยเฉพาะสำหรับตารางสรุปข้อมูล ขณะรีเฟรชและจัดการข้อมูล

ข้อกำหนดเบื้องต้น

ก่อนจะเริ่มเขียนโค้ด ให้แน่ใจว่าคุณมีสิ่งต่อไปนี้:

  1. ความรู้พื้นฐานเกี่ยวกับ C#: เนื่องจากเราจะเขียนโค้ดด้วย C# ความคุ้นเคยกับภาษานี้จะช่วยให้คุณเข้าใจบทช่วยสอนได้ดีขึ้น
  2. Aspose.Cells สำหรับไลบรารี .NET: คุณสามารถดาวน์โหลดได้จากหน้าเปิดตัว Aspose Cellsหากคุณยังไม่ได้พิจารณาทดลองใช้งานฟรีเพื่อสำรวจฟีเจอร์ต่างๆ ก่อน
  3. Visual Studio: IDE ที่คุณสามารถเขียนและทดสอบโค้ด C# ได้อย่างมีประสิทธิภาพ
  4. ไฟล์ตัวอย่าง Excel: ตรวจสอบให้แน่ใจว่าคุณมีไฟล์ตัวอย่าง Excel โดยควรเป็นไฟล์ที่มีตารางสรุปข้อมูลสำหรับการสาธิต สำหรับตัวอย่างของเรา เราจะใช้sample-pivot-table.xlsx.

เมื่อมีข้อกำหนดเบื้องต้นเหล่านี้แล้ว เรามาเริ่มกระบวนการเขียนโค้ดกันเลย

แพ็คเกจนำเข้า

ก่อนที่คุณจะเริ่มเขียนแอปพลิเคชัน คุณต้องใส่เนมสเปซที่จำเป็นในโค้ดของคุณเพื่อใช้ไลบรารี Aspose.Cells ได้อย่างมีประสิทธิภาพ นี่คือวิธีการดำเนินการ

นำเข้าพื้นที่ชื่อ Aspose.Cells

using System.IO;
using System;
using Aspose.Cells;
using Aspose.Cells.Pivot;
using System.Drawing;

บรรทัดโค้ดนี้ทำให้แน่ใจว่าคุณสามารถเข้าถึงคลาสและวิธีการทั้งหมดภายในไลบรารี Aspose.Cells ได้

ตอนนี้ มาแยกขั้นตอนออกเป็นรายละเอียดเพื่อให้แน่ใจว่าทุกอย่างชัดเจนและเข้าใจได้

ขั้นตอนที่ 1: ตั้งค่าไดเร็กทอรีของคุณ

ขั้นแรก ให้ตั้งค่าไดเร็กทอรีที่ไฟล์ Excel ของคุณอยู่ สิ่งสำคัญคือต้องระบุเส้นทางไฟล์ที่ถูกต้อง

// เส้นทางไปยังไดเร็กทอรีเอกสาร
string dataDir = "Your Document Directory";

ที่นี่แทนที่"Your Document Directory"โดยมีเส้นทางไปยังไฟล์ Excel ของคุณ นี่คือตำแหน่งที่ไฟล์ตารางสรุปตัวอย่างของคุณควรจะอยู่

ขั้นตอนที่ 2: โหลดไฟล์ Excel ต้นฉบับ

ถัดไป เราต้องโหลดไฟล์ Excel ที่มีตารางสรุปข้อมูลตัวอย่าง

// โหลดไฟล์ Excel ต้นฉบับที่มีตารางสรุปข้อมูลตัวอย่าง
Workbook wb = new Workbook(dataDir + "sample-pivot-table.xlsx");

ในขั้นตอนนี้เราจะสร้างอินสแตนซ์ของWorkbook คลาสที่โหลดไฟล์ Excel ที่ระบุ

ขั้นตอนที่ 3: เข้าถึงแผ่นงาน

ตอนนี้เมื่อโหลดเวิร์กบุ๊กแล้ว คุณต้องเข้าถึงเวิร์กชีตที่มีข้อมูลตารางสรุปข้อมูล

// เข้าถึงเวิร์กชีตแรกที่มีข้อมูลตารางสรุปข้อมูล
Worksheet dataSheet = wb.Worksheets[0];

ที่นี่ เราจะเข้าถึงเวิร์กชีตแรกที่มีตารางสรุปข้อมูลอยู่ คุณสามารถวนซ้ำหรือระบุเวิร์กชีตอื่น ๆ ตามโครงสร้าง Excel ของคุณได้

ขั้นตอนที่ 4: จัดการข้อมูลเซลล์

ขั้นต่อไปคุณจะแก้ไขค่าเซลล์บางค่าในเวิร์กชีต

ขั้นตอนที่ 4.1: แก้ไขเซลล์ A3

เริ่มต้นด้วยการเข้าถึงเซลล์ A3 และตั้งค่าของมัน

// เข้าถึงเซลล์ A3 และตั้งค่าข้อมูล
Cells cells = dataSheet.Cells;
Cell cell = cells["A3"];
cell.PutValue("FooBar");

โค้ดสั้นๆ นี้จะอัปเดตเซลล์ A3 ด้วยค่า “FooBar”

ขั้นตอนที่ 4.2: แก้ไขเซลล์ B3 ด้วยสตริงยาว

ต่อไป เราจะตั้งค่าสตริงที่มีความยาวในเซลล์ B3 ซึ่งเกินขีดจำกัดอักขระมาตรฐานของ Excel

// เข้าถึงเซลล์ B3 ตั้งค่าข้อมูล
string longStr = "Very long text 1. very long text 2.... [continue your long string]";
cell = cells["B3"];
cell.PutValue(longStr);

โค้ดนี้มีความสำคัญเนื่องจากจะกำหนดความคาดหวังของคุณเกี่ยวกับขีดจำกัดของข้อมูล โดยเฉพาะอย่างยิ่งเมื่อทำงานกับการตั้งค่าความเข้ากันได้ใน Excel

ขั้นตอนที่ 5: ตรวจสอบความยาวของเซลล์ B3

สิ่งที่สำคัญคือต้องยืนยันความยาวของสตริงที่เราป้อนเข้าไปด้วย

// พิมพ์ความยาวของสตริงเซลล์ B3
Console.WriteLine("Length of original data string: " + cell.StringValue.Length);

นี่เป็นเพียงการตรวจยืนยันว่าเซลล์ของคุณมีอักขระอยู่กี่ตัว

ขั้นตอนที่ 6: ตั้งค่าค่าเซลล์อื่น ๆ

ตอนนี้เราจะเข้าถึงเซลล์มากขึ้นและตั้งค่าค่าบางค่า

// เข้าถึงเซลล์ C3 และตั้งค่าข้อมูล
cell = cells["C3"];
cell.PutValue("closed");

// เข้าถึงเซลล์ D3 และตั้งค่าข้อมูล
cell = cells["D3"];
cell.PutValue("2016/07/21");

แต่ละสไนปเป็ตเหล่านี้จะอัปเดตเซลล์เพิ่มเติมหลายเซลล์ภายในเวิร์กชีต

ขั้นตอนที่ 7: เข้าถึงตารางสรุปข้อมูล

ถัดไปคุณจะเข้าถึงเวิร์กชีตที่สอง ซึ่งประกอบด้วยข้อมูลตารางสรุปข้อมูล

//เข้าถึงเวิร์กชีตที่สองที่มีตารางสรุปข้อมูล
Worksheet pivotSheet = wb.Worksheets[1];

// เข้าถึงตารางสรุปข้อมูล
PivotTable pivotTable = pivotSheet.PivotTables[0];

สไนปเป็ตนี้ช่วยให้คุณสามารถจัดการตารางสรุปข้อมูลเพื่อการตั้งค่าความเข้ากันได้

ขั้นตอนที่ 8: ตั้งค่าความเข้ากันได้สำหรับ Excel 2003

สิ่งสำคัญคือต้องกำหนดว่าตารางสรุปของคุณเข้ากันได้กับ Excel 2003 หรือไม่

// คุณสมบัติ IsExcel2003Compatible บอกว่า PivotTable เข้ากันได้กับ Excel2003 หรือไม่ในขณะที่รีเฟรช PivotTable
pivotTable.IsExcel2003Compatible = true;
pivotTable.RefreshData();
pivotTable.CalculateData();

นี่คือจุดเริ่มต้นของการเปลี่ยนแปลงที่แท้จริง โดยการตั้งค่าIsExcel2003Compatible ถึงtrueคุณจำกัดความยาวอักขระเป็น 255 ตัวเมื่อรีเฟรช

ขั้นตอนที่ 9: ตรวจสอบความยาวหลังจากการตั้งค่าความเข้ากันได้

หลังจากตั้งค่าความเข้ากันได้แล้ว มาดูกันว่าจะส่งผลต่อข้อมูลอย่างไร

// ตรวจสอบค่าของเซลล์ B5 ของแผ่นสรุปข้อมูล
Cell b5 = pivotSheet.Cells["B5"];
Console.WriteLine("Length of cell B5 after setting IsExcel2003Compatible property to True: " + b5.StringValue.Length);

คุณจะเห็นเอาต์พุตที่ยืนยันเอฟเฟกต์การตัดทอนหากข้อมูลเริ่มต้นเกิน 255 อักขระ

ขั้นตอนที่ 10: เปลี่ยนการตั้งค่าความเข้ากันได้

ตอนนี้เรามาเปลี่ยนการตั้งค่าความเข้ากันได้และตรวจสอบอีกครั้ง

//ตอนนี้ตั้งค่าคุณสมบัติ IsExcel2003Compatible เป็นเท็จและรีเฟรชอีกครั้ง
pivotTable.IsExcel2003Compatible = false;
pivotTable.RefreshData();
pivotTable.CalculateData();

วิธีนี้จะทำให้ข้อมูลของคุณสะท้อนความยาวเดิมโดยไม่มีข้อจำกัดเหมือนเมื่อก่อน

ขั้นตอนที่ 11: ตรวจสอบความยาวอีกครั้ง

ให้เราตรวจสอบดูว่าข้อมูลดังกล่าวแสดงความยาวจริงได้อย่างถูกต้องหรือไม่

// ตอนนี้จะพิมพ์ความยาวเดิมของข้อมูลเซลล์ ข้อมูลยังไม่ถูกตัดทอน
b5 = pivotSheet.Cells["B5"];
Console.WriteLine("Length of cell B5 after setting IsExcel2003Compatible property to False: " + b5.StringValue.Length);

คุณควรเห็นว่าเอาท์พุตยืนยันการลบการตัดทอน

ขั้นตอนที่ 12: จัดรูปแบบเซลล์

เพื่อปรับปรุงประสบการณ์การรับชมภาพ คุณอาจต้องการจัดรูปแบบเซลล์

// ตั้งค่าความสูงของแถวและความกว้างของคอลัมน์ของเซลล์ B5 และห่อข้อความด้วย
pivotSheet.Cells.SetRowHeight(b5.Row, 100);
pivotSheet.Cells.SetColumnWidth(b5.Column, 65);
Style st = b5.GetStyle();
st.IsTextWrapped = true;
b5.SetStyle(st);

บรรทัดโค้ดเหล่านี้ช่วยให้ข้อมูลอ่านง่ายขึ้นโดยการปรับขนาดเซลล์และเปิดใช้งานการห่อข้อความ

ขั้นตอนที่ 13: บันทึกสมุดงาน

สุดท้ายให้บันทึกสมุดงานของคุณพร้อมกับการเปลี่ยนแปลงที่คุณได้ทำ

// บันทึกสมุดงานในรูปแบบ xlsx
wb.Save(dataDir + "SpecifyCompatibility_out.xlsx", SaveFormat.Xlsx);

การเลือกรูปแบบไฟล์ที่เหมาะสมเป็นสิ่งสำคัญเมื่อบันทึกไฟล์ ExcelXlsxรูปแบบนี้ใช้กันอย่างแพร่หลายและเข้ากันได้กับ Excel หลายเวอร์ชัน

บทสรุป

ขอแสดงความยินดี! ตอนนี้คุณได้เขียนโปรแกรมการตั้งค่าความเข้ากันได้ของไฟล์ Excel โดยใช้ Aspose.Cells สำหรับ .NET แล้ว บทช่วยสอนนี้จะอธิบายแต่ละขั้นตอน ตั้งแต่การตั้งค่าสภาพแวดล้อมของคุณไปจนถึงการเปลี่ยนแปลงการตั้งค่าความเข้ากันได้สำหรับตารางสรุปข้อมูล หากคุณเคยทำงานกับข้อมูลที่จำเป็นต้องมีข้อจำกัดหรือความเข้ากันได้เฉพาะเจาะจง นี่คือทักษะที่คุณไม่ควรมองข้าม

คำถามที่พบบ่อย

Aspose.Cells คืออะไร?

Aspose.Cells คือไลบรารี .NET ที่ออกแบบมาเพื่อช่วยให้นักพัฒนาสร้าง จัดการ และแปลงไฟล์ Excel ได้อย่างราบรื่น

เหตุใดความเข้ากันได้ของ Excel จึงมีความสำคัญ

ความเข้ากันได้ของ Excel เป็นสิ่งสำคัญในการทำให้แน่ใจว่าสามารถเปิดและใช้งานไฟล์ใน Excel เวอร์ชันที่ต้องการได้ โดยเฉพาะอย่างยิ่งถ้าไฟล์เหล่านั้นมีคุณลักษณะหรือรูปแบบที่ไม่ได้รับการสนับสนุนในเวอร์ชันก่อนหน้า

ฉันสามารถสร้าง Pivot Table โดยใช้ Aspose.Cells โดยโปรแกรมได้หรือไม่

ใช่ คุณสามารถสร้างและจัดการ Pivot Tables ด้วยโปรแกรมได้โดยใช้ Aspose.Cells ไลบรารีนี้มีวิธีการต่างๆ มากมายในการเพิ่มแหล่งข้อมูล ฟิลด์ และฟีเจอร์ที่เกี่ยวข้องกับ Pivot Tables

ฉันจะตรวจสอบความยาวของสตริงในเซลล์ Excel ได้อย่างไร

คุณสามารถใช้StringValue ทรัพย์สินของCell วัตถุที่จะรับเนื้อหาของเซลล์แล้วเรียกใช้.Length คุณสมบัติเพื่อหาความยาวของสตริง

ฉันสามารถปรับแต่งการจัดรูปแบบเซลล์เกินความสูงและความกว้างของแถวได้หรือไม่

แน่นอน! Aspose.Cells ช่วยให้จัดรูปแบบเซลล์ได้หลากหลาย คุณสามารถเปลี่ยนรูปแบบฟอนต์ สี ขอบ รูปแบบตัวเลข และอื่นๆ อีกมากมายได้ผ่านStyle ระดับ.