ใน OneNote ตารางช่วยให้องค์ประกอบข้อมูลเป็นระเบียบ ตั้งแต่บันทึกการประชุมและบันทึกข้อมูลไปจนถึงแผ่นเปรียบเทียบแบบรวดเร็ว มีบางกรณีที่คุณต้องการดึงข้อความจากตารางใน OneNote อย่างโปรแกรมmatically บางทีคุณอาจต้องการวิเคราะห์เนื้อหาของตาราง ย้ายไปยังฐานข้อมูล หรือแปลงเป็นรูปแบบอื่น

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

มาเริ่มกันเถอะ

ทำไมต้องดึงข้อความจากตารางใน OneNote?

นักพัฒนามักต้องการดึงข้อมูลจากตารางใน OneNote สำหรับการทำงานอัตโนมัติ การรายงาน หรือการบูรณาการกับระบบอื่น นี่คือตัวอย่างในโลกจริงบางประการ:

  • ส่งข้อมูลการประชุมในรูปแบบรายงานที่มีโครงสร้าง
  • อ่านข้อมูลตารางจากบันทึกที่แชร์เพื่อวิเคราะห์
  • ซิงโครไนซ์ตาราง OneNote กับระบบภายนอกหรือตารางควบคุม

แทนที่จะคัดลอกข้อมูลด้วยมือ Aspose.Note for .NET ช่วยให้คุณจัดการสิ่งนี้ทั้งหมดผ่านรหัสในลักษณะที่รวดเร็ว สม่ำเสมอ และอัตโนมัติอย่างสมบูรณ์

ห้องสมุด C# เพื่อดึงข้อความจากตาราง OneNote

Aspose.Note for .NET เป็น API ที่มีความแข็งแกร่งซึ่งช่วยให้นักพัฒนาสามารถสร้าง อ่าน แก้ไข และแปลงไฟล์ OneNote ในแอปพลิเคชัน .NET ได้ มันรองรับโมเดลออบเจ็กต์ที่หลากหลายเพื่อเข้าถึงองค์ประกอบต่างๆ เช่น หน้า ข้อความ รูปภาพ โครงร่าง และตาราง สำหรับการดึงข้อความจากตาราง มันมีคลาส Document ซึ่งเป็นตัวแทนของไฟล์ OneNote และวิธีการเช่น GetChildNodes() ที่ช่วยให้นักพัฒนาสามารถค้นหาและดึงองค์ประกอบของตารางได้อย่างง่ายดาย

คุณสามารถดาวน์โหลดได้จากหน้า Aspose.Note for .NET releases page หรือทำการติดตั้งโดยใช้ NuGet:

PM> Install-Package Aspose.Note

วิธีการดึงข้อความจากตารางใน OneNote

Aspose.Note ทำให้สามารถดึงข้อความจากเอกสาร OneNote ได้ที่ระดับต่างๆ:

  • ทั้งโต๊ะ
  • แถวที่เฉพาะเจาะจง
  • เซลล์เดี่ยว

เรามาดูแต่ละขั้นตอนทีละขั้นกันเถอะ

วิธีการแยกข้อความจากตารางใน OneNote: ตัวอย่างตาราง

Sample Table

เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการดึงข้อความและรูปภาพจากเอกสาร OneNote โดยใช้ C# โปรดดูที่ คู่มือการดึงเนื้อหาจากไฟล์ OneNote.

1. ดึงข้อความจากตารางใน OneNote โดยใช้ C#

เราสามารถดึงข้อความจากตารางทั้งหมดที่มีอยู่ในเอกสาร OneNote ได้อย่างง่ายดายโดยใช้ Aspose.Note for .NET เราจะไปผ่านขั้นตอนการเข้าถึงโหนตาราง อ่านเนื้อหาของพวกเขา และแสดงข้อความที่ดึงมาในรูปแบบที่อ่านได้

ทำตามขั้นตอนด้านล่างเพื่อดึงข้อความจากตารางในเอกสาร OneNote:

  1. โหลดไฟล์ .one โดยใช้คลาส Document
  2. ใช้วิธี GetChildNodes<Table>() เพื่อดึงข้อมูลโหนดตารางทั้งหมด。
  3. วนซ้ำผ่านแต่ละตารางและดึงเนื้อหาข้อความออกมา
  4. พิมพ์ผลลัพธ์ลงบนคอนโซล

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการดึงข้อความจากตารางทั้งหมดในเอกสาร OneNote.

using Aspose.Note;

// โหลดเอกสารลงใน Aspose.Note
Document document = new Document("SampleTable.one");

// รับรายการโหนตาราง
IList<Table> nodes = document.GetChildNodes<Table>();

// ตั้งค่าจำนวนโต๊ะ
int tblCount = 0;

foreach (Table table in nodes)
{
    tblCount++;
    Console.WriteLine("Table # " + tblCount);

    // Retrieve text
    string text = string.Join(Environment.NewLine,
        table.GetChildNodes<RichText>().Select(e => e.Text)) + Environment.NewLine;

    // Print text on the output screen
    Console.WriteLine(text);
}

Output

Table # 1
cell_1.1
cell_1.2
cell_1.3
cell_2.1
cell_2.2
cell_2.3

2. ดึงข้อความจากแถวที่เฉพาะเจาะจงในตาราง OneNote

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

คุณสามารถดึงข้อความทีละแถวโดยทำตามขั้นตอนด้านล่าง:

  1. โหลดไฟล์ OneNote โดยใช้คลาส Document
  2. รับรายการของโหนตาราง.
  3. วนซ้ำผ่านแต่ละตาราง จากนั้นผ่านแต่ละแถว。
  4. Extract and display text from each row.

ตัวอย่างโค้ดด้านล่างแสดงวิธีการดึงแถวของข้อความจากตารางโดยใช้ C#:

using Aspose.Note;

// โหลดเอกสารลงใน Aspose.Note.
Document document = new Document("SampleTable.one");

// รับรายการโหนตาราง
IList<Table> nodes = document.GetChildNodes<Table>();

// ตั้งค่าจำนวนแถว
int rowCount = 0;

foreach (Table table in nodes)
{
    // วนซ้ำผ่านแถวของตาราง
    foreach (TableRow row in table)
    {
        rowCount++;
        // Retrieve text
        string text = string.Join(Environment.NewLine,
            row.GetChildNodes<RichText>().Select(e => e.Text)) + Environment.NewLine;

        // Print text on the output screen
        Console.WriteLine($"Row #{rowCount}:");
        Console.WriteLine(text);
    }
}

Output

Row #1:
cell_1.1
cell_1.2
cell_1.3

Row #2:
cell_2.1
cell_2.2
cell_2.3

3. สกัดข้อความจากเซลล์เฉพาะในตาราง

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

ทำตามขั้นตอนด้านล่างเพื่อดึงข้อความจากเซลล์เฉพาะในตารางใน OneNote:

  1. โหลดเอกสาร OneNote โดยใช้คลาส Document
  2. เรียกคืนโหนดตารางโดยใช้ GetChildNodes<Table>()
  3. วนซ้ำผ่านแต่ละตารางและแถวของมัน।
  4. ใช้ GetChildNodes<TableCell>() เพื่อดึงเซลล์โหนด
  5. Extract text from each cell and display it.

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการดึงข้อความจากเซลล์ในแถวของตารางโดยใช้ C#:

using Aspose.Note;

// โหลดเอกสารลงใน Aspose.Note.
Document document = new Document("SampleTable.one");

// รับรายการโหนตาราง
IList<Table> nodes = document.GetChildNodes<Table>();

foreach (Table table in nodes)
{
    // ทำซ้ำผ่านแถวในตาราง
    foreach (TableRow row in table)
    {
        // รับรายการของโหนด TableCell
        IList<TableCell> cellNodes = row.GetChildNodes<TableCell>();
        // วนซ้ำผ่านเซลล์ในตาราง
        foreach (TableCell cell in cellNodes)
        {
            // Retrieve text
            string text = string.Join(Environment.NewLine,
                cell.GetChildNodes<RichText>().Select(e => e.Text)) + Environment.NewLine;
            // Print text on the output screen
            Console.WriteLine(text);
        }
    }
}

Output

cell_1.1

cell_1.2

cell_1.3

cell_2.1

cell_2.2

cell_2.3

ทำไมต้องใช้ Aspose.Note for .NET ในการดึงข้อความ?

  • สามารถทำงานได้โดยไม่ต้องเชื่อมต่อกับอินเทอร์เน็ตและไม่ใช้ Microsoft OneNote.
  • Extracts text with formatting and structure preserved.
  • รองรับทุกองค์ประกอบของตาราง (หัวตาราง, เซลล์, ตารางซ้อน)
  • เสนอการสนับสนุน LINQ ที่แข็งแกร่งสำหรับการกรองและการค้นหาส่วนต่าง ๆ ของเนื้อหา
  • การรวมที่ง่ายกับแอพพลิเคชั่น .NET ที่มีอยู่แล้ว

ไม่ว่าคุณจะสร้างเครื่องมือวิเคราะห์, สคริปต์อัตโนมัติ, หรือตัวแปลงโน้ตที่กำหนดเอง Aspose.Note มอบความยืดหยุ่นและการควบคุมที่คุณต้องการ

คุณสามารถขอใบอนุญาตชั่วคราวฟรีจาก Aspose License Page เพื่อทดลองใช้ Aspose.Note for .NET โดยไม่มีข้อจำกัด ใช้เวลาเพียงหนึ่งนาทีในการสมัคร และคุณจะสามารถทดสอบฟีเจอร์ทั้งหมดของไลบรารีได้

ทรัพยากรเพิ่มเติมฟรี

บทสรุป

การดึงข้อความจากตารางใน OneNote ไม่จำเป็นต้องซับซ้อน ด้วย Aspose.Note for .NET คุณสามารถดึงข้อความจากตารางทั้งหมด แถวเฉพาะ หรือเซลล์แต่ละเซลล์ได้อย่างง่ายดายโดยใช้แค่บรรทัด C# ไม่กี่บรรทัด API จะจัดการการวิเคราะห์ การจัดการโหนด และการเดินเนื้อหา ในขณะที่คุณสามารถมุ่งเน้นที่การใช้ข้อมูลนั้นตามที่คุณต้องการ

ถ้าคุณมีคำถามใด ๆ หรือต้องการความช่วยเหลือในการเริ่มต้น โปรดเยี่ยมชม ฟอรัมสนับสนุนฟรี ของเราเพื่อเชื่อมต่อกับทีม Aspose.Note.

FAQs

Q: Can I extract text from a specific table in my OneNote document?

ใช่ คุณสามารถกรองโหนตารางโดยใช้ LINQ หรือการเลือกตามดัชนีเพื่อระบุตารางเฉพาะสำหรับการดึงข้อมูลได้

Q: ฉันต้องติดตั้ง Microsoft OneNote เพื่อใช้ Aspose.Note for .NET หรือไม่?

ไม่, Aspose.Note for .NET ทำงานได้อย่างอิสระและไม่ต้องการ Microsoft OneNote หรือซอฟต์แวร์ภายนอกอื่น ๆ

Q: Aspose.Note for .NET รักษาโครงสร้างตารางระหว่างการดึงข้อมูลข้อความไว้หรือไม่?

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

Q: ฉันสามารถดึงข้อความที่มีการจัดรูปแบบจากตารางใน OneNote ได้หรือไม่?

Aspose.Note ส่วนใหญ่จะแยกข้อความธรรมดา อย่างไรก็ตาม คุณสามารถเข้าถึงและประมวลผลวัตถุข้อความที่มีรูปแบบได้ หากคุณต้องการรายละเอียดการจัดรูปแบบ

Q: Aspose.Note for .NET ใช้งานได้กับ .NET Core และ .NET 6+ หรือไม่?

ใช่, มันรองรับ .NET Framework, .NET Core, และเวอร์ชันล่าสุดของ .NET ใน Windows, Linux, และ macOS.

ดูเพิ่มเติม