Bagaimana untuk mengautomatikkan Generasi Jadual PDF daripada Sumber Data
Mencipta jadual yang dinamik dan didorong oleh data dalam dokumen PDF adalah penting untuk laporan, kecerdasan perniagaan, dan aliran kerja analisis.Dengan Aspose.PDF.TableGenerator Plugin untuk .NET , anda boleh secara tidak sengaja menghasilkan jaminan daripada pangkalan data SQL, lembaran lebar, atau data in-memory - sempurna untuk automatik laporan pelanggan, invoices dan dashboards.
Data Binding: Menyambung ke sumber data anda
Mulakan dengan data anda - sama ada daripada pertanyaan SQL, fail Excel, atau senarai objek tersuai:
// Example: Convert a DataTable to a list of dictionaries (field/value pairs)
var tableData = new List<Dictionary<string, object>>();
foreach (DataRow row in myDataTable.Rows)
{
var dict = myDataTable.Columns
.Cast<DataColumn>()
.ToDictionary(col => col.ColumnName, col => row[col]);
tableData.Add(dict);
}
Mapping Fields & Membina Meja
Iter melalui data anda dan membina jadual dinamik dalam PDF:
using Aspose.Pdf.Plugins;
var generator = new TableGenerator();
var tableOptions = new TableOptions().InsertPageAfter(1).AddTable();
// Add header row
tableOptions = tableOptions.AddRow();
foreach (var key in tableData[0].Keys)
{
tableOptions = tableOptions.AddCell().AddParagraph(new TextFragment(key));
}
// Add data rows
foreach (var record in tableData)
{
tableOptions = tableOptions.AddRow();
foreach (var value in record.Values)
{
tableOptions = tableOptions.AddCell().AddParagraph(new TextFragment(value?.ToString() ?? ""));
}
}
tableOptions.AddInput(new FileDataSource(@"C:\Docs\input.pdf"));
tableOptions.AddOutput(new FileDataSource(@"C:\Docs\output_with_table.pdf"));
generator.Process(tableOptions);
Jadual dinamik & senario lanjutan
- Page: Untuk set data yang besar, cipta beberapa jadual di pelbagai halaman PDF.
- Format bersyarat: Gunakan gaya / bendera berdasarkan data (contohnya, menonjolkan keseimbangan berlebihan).
- Pengemaskinian dalam lokasi: Baca lokasi jadual, kemudian menulis semula/update tabel sedia ada dengan data baru (perlu logik disesuaikan dengan API TableGenerator).
Penggunaan Kasus
- Laporan perniagaan bulanan / suku tahunan (daripada pertanyaan pangkalan data)
- Invoice, bill, atau generasi paystub (daripada data CRM/ERP)
- Jadual hasil kaji selidik atau maklum balas (dari spreadsheet import)
Soalan-soalan yang kerap ditanya
**Q: Bolehkah saya mengimport data secara langsung daripada Excel ke jadual PDF?**A: Ya - baca fail Excel ke dalam DataTable (contohnya, menggunakan ExcelDataReader, NPOI, atau Aspose.Cells), kemudian ikuti langkah-langkah di atas untuk peta baris ke sel jadual.
**Q: Bagaimana saya boleh mengemas kini jadual di tempat?**A: Gunakan TableGenerator untuk menulis semula halaman/tempat tertentu dalam PDF, atau menghapuskan dan memulihkan jadual mengikut keperluan.
**Q: Adakah format (warna, fon) disokong?**A: Secara mutlak—menggunakan TableCellBuilder dan TableRow Builder untuk gaya lanjutan.
Pro Tip: Gabungkan generasi jadual dinamik dengan penciptaan PDF dan pengeksportan data untuk aliran kerja laporan automatik yang berkuasa.