แทนที่แท็กด้วยข้อความในกล่องข้อความใน 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 .