แก้ไขแผ่นงาน Excel ใน Java

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

หัวข้อต่อไปนี้ครอบคลุมในบทความนี้:

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

GroupDocs.Editor มี Java API สำหรับแก้ไขสเปรดชีตและอนุญาตให้นักพัฒนาโหลด แก้ไข และบันทึกเอกสารรูปแบบต่างๆ โดยใช้โปรแกรมแก้ไข WYSIWYG HTML นอกเหนือจากรูปแบบสเปรดชีตแล้ว API ยังรองรับการแก้ไขเอกสารประมวลผลคำ งานนำเสนอ HTML, XML, TXT, CSV และรูปแบบอื่นๆ อีกมากมาย

ดาวน์โหลดหรือกำหนดค่า

คุณสามารถดาวน์โหลดไฟล์ JAR จาก ส่วนการดาวน์โหลด หรือเพียงแค่รับที่เก็บและการกำหนดค่าการพึ่งพาสำหรับ pom.xml ของแอปพลิเคชัน Java ที่ใช้ maven

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-editor</artifactId>
        <version>20.11</version> 
</dependency>

แก้ไขสเปรดชีต Excel ใน Java

คุณสามารถแก้ไขสเปรดชีตได้ทันทีหลังจากตั้งค่า API คุณสามารถรับเนื้อหาทั้งหมดรวมถึงรูปภาพภายในสเปรดชีต ขั้นตอนต่อไปนี้จะให้คุณแก้ไขสเปรดชีต XLS/XLSX ใน Java

  • เตรียมตัวเลือกการโหลด
  • โหลดสเปรดชีต Excel XLS/XLSX โดยใช้ Editor
  • ตั้งค่าดัชนีแท็บแผ่นงานและดึงข้อมูล Editable Document โดยใช้ edit()
  • คุณสามารถรับเนื้อหาของแท็บเวิร์กชีตที่โหลดโดยใช้วิธี getter ตามลำดับ
  • แก้ไขเนื้อหาโดยทางโปรแกรมหรือโดยใช้โปรแกรมแก้ไขแบบ WYSIWYG
  • แปลงเนื้อหาที่แก้ไขแล้วกลับไปเป็นเอกสารที่แก้ไขได้
  • บันทึกสเปรดชีตที่อัปเดตด้วยวิธี save() ที่เหมาะสมโดยใช้ตัวเลือกการบันทึกที่เกี่ยวข้อง

โค้ด Java ต่อไปนี้อนุญาตให้คุณแก้ไขสเปรดชีต Excel ภายในแอปพลิเคชัน

// แก้ไขเอกสาร Excel XLS/XLSX ใน Java
SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
loadOptions.setPassword("password-if-any");

// กำลังโหลดสเปรดชีต
Editor editor = new Editor("path/sample_sheet.xlsx", loadOptions);

// แก้ไขแท็บที่ 1 ของสเปรดชีต
SpreadsheetEditOptions editOptions = new SpreadsheetEditOptions();
editOptions.setWorksheetIndex(0); // index is 0-based, so this is 1st tab
EditableDocument firstTab = editor.edit(editOptions);

String bodyContent = firstTab.getBodyContent();
String allContent = firstTab.getContent();
List<IImageResource> onlyImages = firstTab.getImages();
List<IHtmlResource> allResourcesTogether = firstTab.getAllResources();

String editedSheetContent = allContent.replace("Old Company Name","New Company Name");
EditableDocument editedDoc = EditableDocument.fromMarkup(editedSheetContent, null);

SpreadsheetSaveOptions saveOptions = new SpreadsheetSaveOptions(SpreadsheetFormats.Xlsx);
saveOptions.setPassword("new-password");
editor.save(editedDoc, "path/edited_spreadsheet.xlsx", saveOptions);

firstTab.dispose();
editor.dispose();

โหลด: คุณสามารถใช้ตัวเลือกเพิ่มเติมขณะโหลดสเปรดชีต เช่น ให้รหัสผ่านหากเอกสารได้รับการป้องกัน

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

บันทึก: ขณะบันทึกสเปรดชีตที่แก้ไข คุณสามารถตั้งค่าตัวเลือกต่างๆ เช่น การป้องกันด้วยรหัสผ่าน รูปแบบไฟล์ และอื่นๆ

บทสรุป

โดยสรุป เราได้เรียนรู้วิธีแก้ไขสเปรดชีต Excel ใน Java โดยใช้ Java API ของการแก้ไขเอกสารและสเปรดชีต คุณสามารถใช้ API ร่วมกับโปรแกรมแก้ไขแบบ WYSIWYG เพื่อแก้ไขสเปรดชีตด้วยภาพ คุณสามารถสร้างแอปพลิเคชัน Java แก้ไขสเปรดชีตของคุณเองได้ สำหรับรายละเอียด ตัวเลือก และตัวอย่างเพิ่มเติม คุณสามารถไปที่ เอกสาร และ GitHub ที่เก็บ หากต้องการสอบถามเพิ่มเติม โปรดติดต่อฝ่ายสนับสนุนในฟอรัม

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