GrapeCity Documents for Excel 文檔 API 組件 V2.2 正式發布,本次新版本包含諸多重量級產品功能,如:將帶有形狀的電子表格導出為 PDF、控制分頁和電子表格內容、將 Excel 電子表格的特定頁面列印為PDF、在工作簿之間剪切和複製工作表等。
作為一款適用於 .NET 和 Java 6.0+ 標準的文檔 API 組件,GrapeCity Documents for Excel 通過編碼的方式,無需依賴 Microsoft Excel ,即可超快批量操作 Excel 文件,與純前端表格控制項 SpreadJS 結合使用,可同時在 Web 端實現 Excel 類數據展示、Excel 功能和布局樣式,以及後端 Excel 導入導出等業務場景,使您開發的應用程序具備快速創建、載入、編輯、導入/導出大型 Excel 文檔的功能模塊。
使用 GrapeCity Documents for Excel,您可以將帶有形狀的電子表格導出為 PDF,這些形狀包括箭頭、線條、圖片和一般默認形狀(包括 MS Excel 的內置形狀)。利用這一特性,開發人員可以創建更為有趣且豐富的 Excel 工作表。
導出的 PDF 中支持的形狀屬性包括:
.NET 平台幫助文檔 | .NET 平台示例 | Java 平台幫助文檔 | Java 平台示例
GrapeCity Documents for Excel 通過引入一個名為 PrintManager 的類來控制分頁、導出 PDF 和控制電子表格輸出的內容,該功能通過在 PageInfo 對象中提供用於分頁結果的用戶信息,以及通過 PrintManager.Paginate 方法從 Excel 文件生成的頁面列表中,實現將 Excel 的特定部分導出到 PDF 文檔中。該功能可執行以下操作:
該功能的實現步驟包括:
通過 GrapeCity Documents for Excel 提供的這項功能,可有效解決將 Excel 文件轉換為 PDF 時的分頁、頁面布局、頁面設置等問題。
.NET 平台幫助文檔 | .NET 平台示例 | Java 平台幫助文檔 | Java 平台示例
一份完整的報表通常是由文本描述、數字和圖表組合而成。以財務報表舉例,完整的財務報表可視為公司業務活動和財務業績的混合體,為保證其數據的準確性、不可編輯性與安全性,通常會以 PDF 文檔的格式分發給客戶,儘可能地保留原始文檔的質量和數據。
此報表用 Excel 的方式展示了公司現金流、凈收入等數據。Excel 方式的最大特點就是以表格的形式顯示數據,為了進行二次分發並保證此報表數據的真實性,可通過 GrapeCity Documents for Excel 文檔API 來將 Excel 數據轉換成 PDF,也可提取 Excel 表中某一工作簿的位置在 PDF 文件中進行渲染。
通過使用 GrapeCity Documents for Excel 的 PrintManager 類從 Excel 中提取數據,並通過 GrapeCity Documents for PDF 的 API 導出到 PDF 中。
注意:要使用此功能,您需要同時獲得 GrapeCity Documents for PDF 和 GrapeCity Documents for Excel (.NET版本)的許可授權。
.NET 平台幫助文檔 | .NET 平台示例 | Java 平台幫助文檔
有時,我們不需要列印所有頁面,只需要從 Excel 文件中列印指定的頁面信息。例如以下場景,貴公司有一份年度產品和銷售清單,並通過數據透視表進行分析。您可以根據需要查看特定客戶的銷售額和產品總銷售額,但只需將數據透視表的數據分析結果列印為 PDF,以便分發給利益相關者。這時,就會用到將 Excel 電子表格的指定頁面內容列印為 PDF 功能。
在下面的文件中,公司希望列印 Page 5、Page 6 和 Page 7 部分,並且在列印結果中,以連續頁碼 1、2、3 呈現。
您可以從 PageInfo 對象中選擇特定的頁面內容,然後使用PrintManager.UpdatePageNumberAndPageSettings(..)方法設置連續頁碼。
.NET 平台幫助文檔 | .NET 平台示例 | Java 平台幫助文檔 | Java 平台示例
有時,表數據需要在同一張紙上列印,而不是單獨列印在一個新的頁面上。特別是,當合併單元格時,用戶不希望合併的行數據在列印時被分割在不同的頁面上。使用 KeepTogetherRanges 類可以幫助您設置,列印時將同一張表的數據保持在一張紙上。
.NET 平台幫助文檔 | .NET 平台示例 | Java 平台幫助文檔 | Java 平台示例
Excel 工作簿中可能同時包含多個工作表的數據。例如,在公司的每月預算的詳細信息中,每月摘要位於第一個工作表上,而每月預算詳細信息則位於單獨的工作表中。在這種情況下,能夠將單頁數據分發給公司股東是最佳情況。
因此,將多個工作表內容列印到 PDF 中的單個頁面將非常有用,通過 GrapeCity Documents for Excel 的 PrintManager 類與 GrapeCity Documents for PDF 的 API 相結合可以順利完成該任務。PageInfo PrintManager 的對象能夠獲取 Excel 文檔的所有頁面,通過 PrintManager.Draw(..)可以查看頁面在 GrapeCity Documents for PDF 中的呈現方式,如 n 行 n 列的布局。
.NET 平台幫助文檔 | .NET 平台示例 | Java 平台幫助文檔 | Java 平台示例
列印 PDF 時,如果工作表中有多個表,則可能需要在所有頁面上重複表標題。用戶可以指定當各個表溢出到其他頁面時重複當前表的標題。
使用 RepeatSettings 類,可以訪問特定表的標題、尾部行、列、表頭和結尾。您還可以在PrintManager.Paginate(..)方法中發送 RepeatSettings 等。
.NET 平台幫助文檔 | .NET 平台示例 | Java 平台幫助文檔 | Java 平台示例
在任何行業中,都難免生成數百個 Excel 報告來分析數據。為了分發這些數據給客戶,公司更喜歡 PDF 格式,因為它無法編輯,可以保留原始文檔的質量和格式。
如果多個報告屬於單個項目,您一定不希望向客戶提供多個 PDF 文件。GrapeCity Documents for Excel 為您提供了將不同的 Excel 工作簿導出為一個 PDF 的功能,僅需簡單的代碼即可實現。調用 PrintManager 類可以在不同的工作簿中直接保存為一個 PDF 文件。
.NET 平台幫助文檔 | .NET 平台示例 | Java 平台幫助文檔 | Java 平台示例
在許多情況下,在 PDF 的底部或右側重複行、列是有幫助的。例如,貴公司可能需要在每個列印頁面的底部重複免責聲明或註釋:
我們以世界衛生組織的報告為例。它收集區域衛生技術信息,作為國家衛生計劃的一部分,或僅有一個不屬於國家衛生計劃的衛生技術中心的地區。我們使用 Yes1 和 Yes2 的值作為圖例,在每頁的底部重複。
您可能需要對數據透視表的不同區域進行不同的格式化,以強調哪些數據屬於哪裡,比如:組織的月度預算報告。該報告將以 3 頁列印,每頁都會在最後重複該消息。
Microsoft Excel 沒有直接在底部或右側重複行或列的方法,它只能選擇在頂部或左側重複行或列。要在 Microsoft Excel 的底部重複行,一般只能使用「頁腳」,但它對於大型文本的作用是有限的。
通過 GrapeCity Documents for Excel 的 PageSetup API ,可以在導出到 PDF 時在右側重複行或列。通過 IPageSetup.PrintTailRows / PrintTailColumns 可在 PDF 導出期間重複行或列。
數據透視表是一種數據分析摘要工具,其中複雜的數據被分組並按行和列進行排序。您可能需要在數據透視表的不同區域以不同的格式強調數據歸屬,特別是以下區域中:
例如,在下面的銷售報告中,使用了數據透視表對產品 ID 進行分組,從而顯示每季度的銷售數據。此表使用了不同的背景色突出顯示每個行標題和子行標題內容。
GrapeCity Documents for Excel 提供的數據透視表功能支持條件格式化。通過設置,數據透視表的標題、小計和總計中重複的行/列將具有相同的樣式(如 API 中所定義的那樣),您不需要單獨設置每一行/列的樣式,並且在格式化數據透視表時,可以將具有樣式和數字格式的數據透視表導出為 PDF,而不會丟失任何樣式。
.NET 平台幫助文檔 | .NET 平台示例 | Java 平台幫助文檔 | Java 平台示例
表格數據的逗號分隔值文件(.csv)通常用於管理 Excel 文件中的信息,例如,產品、庫存、客戶信息和其他數據,用戶可以輕鬆地向 .CSV 文件錄入信息,如直接錄入或通過第三方導入。
在通過第三方導入時,不必僅使用逗號進行分隔數據,任何字元串或字元都可用於分隔 Excel 文件的行、列或單元格。
GrapeCity Documents for Excel 不僅支持列分隔符、自定義分隔符,還支持使用任何行、單元格、列分隔符導入和導出 .csv 文件。
var openOption = new CsvOpenOptions();
openOption.ColumnSeparator = ",";
openOption.RowSeparator = "\r\n";
openOption.CellSeparator = '"';
workbook.Open(@"D:\test.csv", openOption);
var saveOption = new CsvSaveOptions();
saveOption.ColumnSeparator = "-";
saveOption.RowSeparator = "\n";
saveOption.CellSeparator = '\'';
workbook.Save(@"D:\test_out.csv", saveOption);
.NET 平台幫助文檔 | .NET 平台示例 | Java 平台幫助文檔 | Java 平台示例
Excel 文件以格式化數據和公式而聞名。用戶在創建複雜的工作表后,往往需要在其他工作表上複製內容。根據不同的需要,複製的內容也有所不同。您可能只想複製文本內容、目標主題、公式,或僅複製格式。例如,在每月預算報告中,計算公式都保持不變;但是,格式可能會被修改。
下圖即可反映出如何通過 GrapeCity Documents for Excel 僅複製公式的操作。
GrapeCity Documents for Excel 除了提供可複製範圍內的所有數據(不包括列寬/行高以外的設置),還包含各種 PasteType 選項,通過這些選項,用戶可以通過 Excel 文件覆蓋複製、粘貼內容中涉及的多個方案,例如:
舉例,使用以下代碼僅複製公式:
var workbook = new Workbook();
var worksheet = workbook.ActiveSheet;
worksheet.Range["A1"].Value = "2019/3/08";
worksheet.Range["A1"].Font.Size = 20;
worksheet.Range["A1"].Copy(worksheet.Range["D1"], PasteType.Formulas);
.NET 平台幫助文檔 | .NET 平台示例 | Java 平台幫助文檔 | Java 平台示例
GrapeCity Documents for Excel 在 Excel 工作表中插入行/列時,分頁符可以通過添加數據來調整。例如,公司將其銷售記錄從 Excel 導出到 PDF 時,為保證每個區域都可以單獨顯示在一個新的頁面上,GrapeCity Documents for Excel 會自動執行插入分頁符操作。
使用 GrapeCity Documents for Excel 的 FixedPageBreaks 屬性來控制分頁符的調整方式(在對行/列執行插入、刪除操作時),這樣做的目的,是為了保證每個區域都會單獨佔據一張新頁面。
注意:要在行/列插入、刪除時自動調整分頁符,請將 FixedPageBreaks 設置為 false。如果您不希望自動調整分頁符,請將 FixedPageBreak 設置為 true。
.NET 平台幫助文檔 | .NET 平台示例 | Java 平台幫助文檔 | Java 平台示例
在處理大量的 Excel 工作表和模板時,我們經常會使用複製和移動工作表的功能。例如,公司的預算工作表包含複雜的數據和需要按季度填寫的公式,這些公式基本每年都會重複,每個部門在創建新的預算工作表時僅需複製主模板的內容和結構即可快速生成,而在 GrapeCity Documents for Excel 中這項工作將變得更為簡單。
GrapeCity Documents for Excel 通過編程的方式複製和移動工作表,worksheet.Copy 方法用以在不同的位置複製和移動工作表。
Workbook workbook = new Workbook();
var worksheet = workbook.ActiveSheet;
var worksheet_copy_sameWorkbook = worksheet.Copy();
var newWorkbook = new Workbook();
var worksheet_copy_otherWorkbook = worksheet.Copy(newWorkbook);
.NET 平台幫助文檔 | .NET 平台示例(複製工作表) | .NET 平台示例(移動工作表)
Java 平台幫助文檔 | Java 平台示例(複製工作表) | Java 平台示例(移動工作表)
GrapeCity Documents for Excel 支持跨工作簿剪切和複製數據,這項功能使得在任何範圍內剪切、複製數據都將變得更加容易,尤其是需要在數百個工作簿中使用相同數據的時候。
跨工作簿剪切和複製數據的示例代碼:
Workbook workbook = new Workbook();
var worksheet = workbook.ActiveSheet;
var newWorkbook = new Workbook();
//Copy range to another workbook
worksheet.Range["B2:F21"].Copy(newWorkbook.ActiveSheet.Range["D5"]);
.NET 平台幫助文檔 | .NET 平台示例 | Java 平台幫助文檔 | Java 平台示例
當需要把 Excel 數據更新到多個電子表格時,能夠快速找到所需信息至關重要。在常規手段下,掃描數百個行和列非常耗時,但您可以使用 GrapeCity Documents for Excel 在幾秒鐘內完成此項任務。
例如,公司希望更新年度預算報表,該報表是按照月度預算進行分類的,現在需要在每月費用中新增一行數據,該數據具備特定的計算公式。此時,就需要在每個工作表中找到這個特定的公式,並執行公式運算結果。使用 Excel 完成這項工作將是非常耗時的,但通過 GrapeCity Documents for Excel 提供的查找和替換 API 即可快速完成。
以下代碼顯示了如何在工作表中查找和替換公式:
FindOptions fd = new FindOptions();
fd.LookIn = FindLookIn.OnlyFormulas;
foreach (var worksheet in workbook.Worksheets)
{
IRange range = null;
do
{
range = worksheet.UsedRange.Find("X", range, fd);
if (range != null)
{
range.Formula = range.Formula.Replace("X", "Y");
}
} while (range != null);
}
.NET 平台幫助文檔 | .NET 平台示例 | Java 平台幫助文檔 | Java 平台示例
GrapeCity Documents for Excel 現在支持 IRange.FormulaArrayR1C1(),該函數可以為任何單元格範圍引用 R1C1 樣式公式。
例:
worksheet.Cells["A11"].R1C1Formula = "=SUM(R[-10]C[0]:R[-7]C[0])";
GrapeCity Documents for Excel 允許導出為 PDF 時縮小文本內容以適應邊框大小。
在 Microsoft Excel 中,單元格內的文本內容默認禁用「縮小到適合」的設置。因此,將此文檔導出為 PDF 時,該單元格的文本內容可能會由於字型大小過大而顯示不完整。
GrapeCity Documents for Excel 通過引入一個新的 API
.NET 平台幫助文檔 | .NET 平台示例 | Java 平台幫助文檔 | Java 平台示例
GrapeCity Documents for Excel 在導入 Excel 電子表格時支持 NoFlag、Data、Formulas Import 和更多類型的標誌,如:
GrapeCity Documents for Excel 引入了自動調整工作簿任何範圍內行高和列寬的選項,並可根據數據進行調整,該 API 非常易於使用,只需在工作簿範圍內,執行「AutoFit()」方法即可。
對於數據太長而無法放入 Excel 單元格內的,通過使用 GrapeCity Documents for Excel ,即可自動調整行高、列寬,以實現跨越單元格的樣式。想象一下,當你有成千上萬行不同長度的文字,必須掃描整個工作簿以檢查行高和列寬,才可確保數據完全可見,但通過 GrapeCity Documents for Excel ,僅用少量的代碼即可快速完成這一步操作。
.NET 平台幫助文檔 | .NET 平台示例 | Java 平台幫助文檔 | Java 平台示例
您現在可以通過 GrapeCity Documents for Excel 使用 OLEObjects 方式載入、修改和保存 Excel 電子表格。與此同時,在 Excel I / O 操作期間將保留這些對象。
.NET 平台幫助文檔 | .NET 平台示例 | Java 平台幫助文檔 | Java 平台示例
使用 GrapeCity Documents for Excel 在 Excel I / O 中保留日語 ruby 字元。即使在某些 API 操作之後,日語 Ruby 字元也會被保留,例如:插入、刪除、複製、剪切、合併、清除、排序等。
以上就是 GrapeCity Documents for Excel 文檔 API 組件 V2.2 的新特性介紹,更多內容歡迎前往產品官網了解。
[admin
]