แทนที่แท็กด้วยข้อความในกล่องข้อความใน Excel

การแนะนำ

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

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

ก่อนที่จะเริ่มต้น คุณจะต้องเตรียมบางสิ่งบางอย่าง:

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

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

สิ่งแรกที่ต้องทำคือ อิมพอร์ตแพ็คเกจที่จำเป็น ซึ่งเป็นสิ่งสำคัญมาก เพราะหากไม่มีอิมพอร์ตที่ถูกต้อง โค้ดของคุณจะไม่รู้จักคลาสและเมธอดที่เราจะใช้

เริ่มต้นโครงการ C# ของคุณ

เปิด Visual Studio และสร้างโปรเจ็กต์ C# ใหม่ โดยควรเป็นแอปพลิเคชันคอนโซล เนื่องจากจะทำให้คุณดูเอาต์พุตได้อย่างง่ายดาย

เพิ่มการอ้างอิง Aspose.Cells

  • คลิกขวาที่โครงการของคุณใน Solution Explorer
  • เลือก “เพิ่ม” > “อ้างอิง”
  • เรียกดูตำแหน่งที่คุณดาวน์โหลดไลบรารี Aspose.Cells และรวมไว้ในโปรเจ็กต์ของคุณ

นำเข้าเนมสเปซที่จำเป็น

เมื่อคุณเพิ่มการอ้างอิงแล้ว ให้เพิ่มสิ่งต่อไปนี้using คำสั่งที่ด้านบนของไฟล์หลักของคุณ:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Aspose.Cells.Drawing;

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

ขั้นตอนที่ 1: กำหนดไดเรกทอรีแหล่งที่มาและเอาต์พุต

ขั้นแรก เราต้องระบุว่าไฟล์ Excel ต้นฉบับของเราอยู่ที่ไหน และเราต้องการบันทึกเวอร์ชันที่แก้ไขไว้ที่ใด

// ไดเรกทอรีแหล่งที่มาและผลลัพธ์
string sourceDir = "Your Document Directory"; // การเปลี่ยนแปลงไปยังไดเรกทอรีของคุณ
string outputDir = "Your Document Directory"; // การเปลี่ยนแปลงไปยังไดเรกทอรีของคุณ

ขั้นตอนที่ 2: โหลดเวิร์กบุ๊ก

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

Workbook wb = new Workbook(sourceDir + "sampleReplaceTagWithText.xlsx");

ที่นี่ เรากำลังโหลดไฟล์ Excel ที่มีอยู่ชื่อsampleReplaceTagWithText.xlsx.

ขั้นตอนที่ 3: กำหนดแท็กและข้อความแทนที่

ต่อไปเราต้องกำหนดแท็กที่เรากำลังมองหาและสิ่งที่เราต้องการแทนที่ด้วย

string tag = "TAG_2$TAG_1";
string replace = "1$ys";

ในตัวอย่างนี้แท็กจะถูกแยกโดยใช้$คุณสามารถแทนที่สิ่งนี้ด้วยตัวแบ่งใดๆ ที่คุณต้องการได้

ขั้นตอนที่ 4: วนซ้ำแท็กและแทนที่

เราจะสร้างลูปเพื่อผ่านแต่ละแท็กที่เราต้องการแทนที่ นี่คือจุดที่ความมหัศจรรย์เกิดขึ้น!

for (int i = 0; i < tag.Split('$').Length; i++)
{
    sheetReplace(wb, "<" + tag.Split('$')[i] + ">", replace.Split('$')[i]);
}

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

ตอนนี้เราได้ทำการเปลี่ยนแปลงแล้ว ถึงเวลาบันทึกเวิร์กบุ๊กที่แก้ไขแล้วเป็นรูปแบบที่ต้องการ ต่อไปนี้คือวิธีการแปลงเป็น PDF

PdfSaveOptions opts = new PdfSaveOptions();
wb.Save(outputDir + "outputReplaceTagWithText.pdf", opts);

คุณยังสามารถบันทึกเป็นรูปแบบอื่นๆ ได้ เช่น XLSX

ขั้นตอนที่ 6: นำตรรกะการแทนที่ไปใช้

นี่คือจุดที่หัวใจของการทำงานของเราตั้งอยู่sheetReplace วิธีการนี้จะจัดการการแทนที่จริงในเวิร์กชีต Excel

public static void sheetReplace(Workbook workbook, string sFind, string sReplace)
{
    string finding = sFind;
    foreach (Worksheet sheet in workbook.Worksheets)
    {
        sheet.Replace(finding, sReplace);
        for (int j = 0; j < 3; j++)
        {
            if (sheet.PageSetup.GetHeader(j) != null)
                sheet.PageSetup.SetHeader(j, sheet.PageSetup.GetHeader(j).Replace(finding, sReplace));
                
            if (sheet.PageSetup.GetFooter(j) != null)
                sheet.PageSetup.SetFooter(j, sheet.PageSetup.GetFooter(j).Replace(finding, sReplace));
        }
    }
    foreach (Worksheet sheet in workbook.Worksheets)
    {
        sFind = sFind.Replace("<", "&lt;");
        sFind = sFind.Replace(">", "&gt;");
        foreach (Aspose.Cells.Drawing.TextBox mytextbox in sheet.TextBoxes)
        {
            if (mytextbox.HtmlText != null)
            {
                if (mytextbox.HtmlText.IndexOf(sFind) >= 0)
                {
                    mytextbox.HtmlText = mytextbox.HtmlText.Replace(sFind, sReplace);
                }
            }
        }
    }
}
  • ขั้นแรก เราจะวนซ้ำผ่านแต่ละเวิร์กชีตในเวิร์กบุ๊ก
  • เราจะแทนที่แท็กหลักไม่เพียงแต่ในเนื้อหาของเซลล์เท่านั้น แต่ยังรวมถึงส่วนหัวและส่วนท้าย (หากมี) ด้วย
  • สุดท้ายเราจะตรวจสอบกล่องข้อความแต่ละกล่องในแผ่นงานและแทนที่ข้อความภายในนั้นตามแท็กที่เรากำลังมองหา

บทสรุป

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

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

ฉันสามารถแทนที่แท็กในไฟล์ Excel หลายไฟล์พร้อมกันได้หรือไม่

ใช่ โดยการวนซ้ำผ่านรายการไฟล์ คุณสามารถนำตรรกะเดียวกันไปใช้กับไฟล์ Excel หลายไฟล์ได้

ฉันต้องมีใบอนุญาตแบบชำระเงินเพื่อใช้ Aspose.Cells หรือไม่

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

ฉันสามารถแทนที่รูปภาพในกล่องข้อความโดยใช้ Aspose.Cells ได้หรือไม่

Aspose.Cells จัดการข้อความเป็นหลัก อย่างไรก็ตาม คุณสามารถจัดการรูปภาพแยกกันได้หากจำเป็น

ฉันสามารถบันทึกไฟล์ Excel ที่แก้ไขแล้วในรูปแบบใดได้บ้าง

คุณสามารถบันทึกในรูปแบบต่างๆ รวมถึง XLSX, PDF, CSV เป็นต้น

ฉันสามารถค้นหาการสนับสนุนสำหรับ Aspose.Cells ได้ที่ไหน

คุณสามารถค้นหาการสนับสนุนและถามคำถามได้ที่ฟอรั่ม Aspose.