รูปแบบไฟล์สเปรดชีตที่พบมากที่สุดและใช้กันอย่างแพร่หลายคือ XLS, XLSX และ ODS Microsoft Excel และ OpenOffice Calc ที่มีชื่อเสียงสนับสนุนรูปแบบเหล่านี้ และโดยปกติแล้วเราใช้รูปแบบเหล่านี้ในการดูแลบัญชีและสเปรดชีตต่างๆ ดังนั้น ในฐานะนักพัฒนา เราจำเป็นต้องแก้ไขไฟล์ Excel ภายในแอปพลิเคชันของเราโดยทางโปรแกรม ในบทความนี้ เราจะพูดถึงวิธีการแก้ไขไฟล์ Excel ใน C# โดยใช้ .NET API

ต่อไปนี้เป็นหัวข้อที่กล่าวถึงโดยย่อในบทความนี้:

.NET API สำหรับการแก้ไขสเปรดชีต Excel และการทำงานอัตโนมัติ

GroupDocs แสดง .NET API สำหรับการแก้ไขสเปรดชีต ฉันจะใช้มันในตัวอย่าง C# ของบทความนี้ เป็น API การแก้ไขเอกสารและอนุญาตให้นักพัฒนาโหลด แก้ไข และบันทึกรูปแบบเอกสารต่างๆ โดยใช้โปรแกรมแก้ไข WYSIWYG HTML นอกเหนือจากรูปแบบสเปรดชีต XLS, XLSX และ ODS แล้ว API ยังรองรับการแก้ไขรูปแบบที่รองรับสเปรดชีตและ MS Excel อื่นๆ เช่น CSV, TSV, DSV, XLT, XLTX, XLTM, XLSM, XLSB, XLAM, SXC, SpreadsheetML, FODS, DIF

ดาวน์โหลดโปรแกรมติดตั้ง DLLs หรือ MSI จาก ส่วนการดาวน์โหลด หรือติดตั้ง API ในแอปพลิเคชัน .NET ของคุณผ่าน [NuGet](https://www.nuget.org /packages/groupdocs.editor)

PM> Install-Package GroupDocs.Editor

แก้ไขไฟล์ Excel ใน C#

หวังว่าคุณจะอ้างอิง API ได้สำเร็จ ตอนนี้คุณสามารถเริ่มแก้ไขเอกสาร Excel ของคุณได้อย่างรวดเร็ว ขั้นตอนต่อไปนี้จะให้คุณแก้ไขเอกสารสเปรดชีตโดยใช้ C#

  • โหลดไฟล์ Excel
  • แก้ไขตามตัวเลือก
  • บันทึกเอกสารที่แก้ไข

โหลดสเปรดชีต Excel

ประการแรก โหลดสเปรดชีตโดยระบุเส้นทาง/สตรีมเอกสารและรหัสผ่าน (หากเอกสารมีการป้องกันด้วยรหัสผ่าน)

// โหลดไฟล์ Excel โดยใช้ C#
Options.SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
loadOptions.Password = "password"; // if any

// โหลดสเปรดชีต
Editor editor = new Editor("path/spreadsheet.xlsx", delegate { return loadOptions; });

แก้ไขไฟล์ Excel

หลังจากโหลดแล้ว คุณสามารถแก้ไขสเปรดชีตที่โหลดได้ตามต้องการ ตอนนี้เราจะแทนที่ “ชื่อบริษัทเก่า” ทั้งหมดด้วย “ชื่อบริษัทใหม่” ในแท็บแรกของสเปรดชีต ขั้นตอนต่อไปนี้ช่วยให้คุณสามารถแก้ไขไฟล์ excel ตามนั้นใน C#

  • โหลดไฟล์ Excel โดยใช้ Editor และ [ตัวเลือกการโหลด](https://apireference.groupdocs.com/editor/net/groupdocs .editor.options/spreadsheetloadoptions)
  • เตรียมตัวเลือกการแก้ไขสเปรดชีต เพื่อแยกแผ่นงาน/แท็บที่ต้องการ
  • สารสกัด the content of the tab.
  • แก้ไขเนื้อหาของแท็บ
  • คุณสามารถแยกรูปภาพและทรัพยากรทั้งหมดจากแท็บที่เลือก
  • สร้าง EditableDocument ใหม่โดยใช้เนื้อหาที่แก้ไข
  • บันทึกสเปรดชีตการแก้ไขโดยใช้เมธอด Save() ที่เหมาะสม

ซอร์สโค้ด C# ต่อไปนี้แก้ไขไฟล์ excel และเปลี่ยนเนื้อหา

// แก้ไขสเปรดชีต Excel โดยใช้ C#

Options.SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
// loadOptions.Password = "รหัสผ่าน";

// โหลดสเปรดชีต
Editor editor = new Editor("path/spreadsheet.xlsx", delegate { return loadOptions; });

// รับแท็บแรกของสเปรดชีต
SpreadsheetEditOptions sheetTab1EditOptions = new SpreadsheetEditOptions();
sheetTab1EditOptions.WorksheetIndex = 0; // first worksheet

// รับมาร์กอัป HTML จากอินสแตนซ์ EditableDocument
EditableDocument firstTab = editor.Edit(sheetTab1EditOptions);
string bodyContent = firstTab.GetBodyContent(); // HTML markup from inside the HTML ->BODY element
string allContent = firstTab.GetContent();      // Full HTML markup of all document, with HTML ->HEAD header and all its content

List<IImageResource> onlyImages = firstTab.Images;
List<IHtmlResource> allResourcesTogether = firstTab.AllResources;

string editedContent = allContent.Replace("Company Name", "New Company Name");
EditableDocument afterEdit = EditableDocument.FromMarkup(editedContent, allResourcesTogether);

บันทึกไฟล์ Excel ที่แก้ไขด้วยตัวเลือก

หลังจากแก้ไขแล้ว ขณะบันทึกเนื้อหาสเปรดชีตที่แก้ไข คุณสามารถตั้งค่าตัวเลือกต่างๆ ได้ ตัวเลือกเหล่านี้รวมถึง; การตั้งรหัสผ่าน รูปแบบเอาต์พุต การป้องกัน ฯลฯ ฉันกำลังตั้งค่าตัวเลือกข้างต้นในรหัสที่กล่าวถึงด้านล่าง และบันทึกสเปรดชีตที่แก้ไขแล้วเป็นไฟล์ XLSX ที่ป้องกันด้วยรหัสผ่านและป้องกันการเขียน

// บันทึกไฟล์ Excel ด้วยเนื้อหาที่อัปเดตโดยใช้ C#
// สร้างตัวเลือกการบันทึก
SpreadsheetFormats xlsxFormat = SpreadsheetFormats.Xlsx;
Options.SpreadsheetSaveOptions saveOptions = new SpreadsheetSaveOptions(SpreadsheetFormats.Xlsx);

// ตั้งรหัสผ่านเปิดใหม่
saveOptions.Password = "newPassword";
saveOptions.WorksheetProtection = new WorksheetProtection(WorksheetProtectionType.All, "WriteProtectionPassword");

// สร้างสตรีมเอาต์พุต
using (FileStream outputStream = File.Create("path/editedSpreadsheet.xlsx"))
{
    editor.Save(afterEdit, outputStream, saveOptions);
}

รับใบอนุญาตฟรี

คุณสามารถรับใบอนุญาตชั่วคราวได้ฟรี เพื่อใช้ API โดยไม่มีข้อจำกัดในการประเมิน

บทสรุป

โดยสรุป เราได้พูดถึงวิธีการแก้ไขเอกสาร Excel ใน C# โดยใช้ API การแก้ไขเอกสารสำหรับแอปพลิเคชัน .NET คุณสามารถใช้ API กับโปรแกรมแก้ไขแบบ WYSIWYG เพื่อแก้ไขภาพเอกสารของคุณได้ หลังจากนั้น คุณสามารถสร้างโปรแกรมแก้ไขสเปรดชีตออนไลน์ของคุณเองได้

สำหรับรายละเอียด ตัวเลือก และตัวอย่างเพิ่มเติม คุณสามารถไปที่ เอกสาร และที่เก็บ GitHub . หากต้องการสอบถามเพิ่มเติม โปรดติดต่อฝ่ายสนับสนุนในฟอรัม

บทความที่เกี่ยวข้อง

ดูสิ่งนี้ด้วย