生成excel文檔即便沒有安裝微軟Excel


下載:見http://files.cnblogs.com/happyfish78/Acey.ExcelX.Setup.zip

介紹

我們經常需要創建Excel文檔,你會花很多時間,如何才能簡單並且快速的生成Excel文檔。

下面我為你們介紹Acey.ExcelX產品。

Acey.ExcelX是基於.NET Framework version 2.0,你能在客戶電腦和服務器上生成excel文檔即使沒有安裝微軟Excel的情況下. Acey.ExcelX提供支持很多基礎功能和高級功能,這些功能能很簡單和方便幫開發者操縱內容。 Acey.ExcelX為開發者提供很多C#和VB.NET的Demo能更好的讓開發者所理解。 Sample 下面提供一些如何簡單使用Acey.ExcelX,更詳細的Demo見安裝包中Sample。

Example 1     如何插入值和公式到excel文檔中?   
View Code
    IWorkbook workbook = ExcelxApplication.CreateWorkbook();
    //獲取一個Worksheet對象集合在Workbook對象中.
    IWorksheetCollection worksheets = workbook.Worksheets;
    //Gets a Worksheet object by using zero-based worksheet index.
    IWorksheet worksheet = worksheets[0];
    //Gets a Cell object using cell name.
    ICell cell = worksheet.Cells["A1"];
    //Sets interger value to the Cell object.
    cell.Value = 12;
    //Gets a Cell object using zero-based row and column index.
    cell = worksheet.Cells[1, 0];
    //Sets formual to the Cell object.
    cell.Formula = "=SUM(3,3)";
    //Saves to excel file. 
    workbook.SaveAs(@"D:\book1.xls", FileFormat.Excel97To2003);
Exampe 2    如何能隱藏Row在Excel文檔中?  

  [C#]    

View Code
 1 How to hide row in the worksheet?
 2    [C#]
 3     //Creates a Workbook object.
 4     IWorkbook workbook = ExcelxApplication.CreateWorkbook();
 5     //Gets a Worksheet object by using zero-based index.
 6     IWorksheet worksheet = workbook.Worksheets[0];
 7     //Gets a Row object collection in the Worksheet. 
 8     IRowCollection rows = worksheet.Rows;
 9     //Gets a Row object using zero-based index.
10     IRow row = rows[0];
11     //Hides the Row object.
12     row.IsHidden = true;
13     //Saves to excel file. 
14     workbook.SaveAs(@"D:\hideRow.xls", FileFormat.Excel97To2003);
15 
16     or
17      //Creates a Workbook object.
18     IWorkbook workbook = ExcelxApplication.CreateWorkbook();
19     //Gets a Worksheet object by using zero-based index.
20     IWorksheet worksheet = workbook.Worksheets[0];
21     //Hides the specified row by using zero-based index.
22     worksheet.HideRow(0);
23     //Saves to excel file. 
24     workbook.SaveAs(@"D:\merge.xls", FileFormat.Excel97To2003);
Example 3   如何為指定的范圍設置樣式在Excel文檔中? 
View Code
 1 How to set Formatting for the specified range?
 2     //Creates a Workbook object.
 3     IWorkbook workbook = ExcelxApplication.CreateWorkbook();
 4     //Gets a Worksheet object by using zero-based index.
 5     IWorksheet worksheet = workbook.Worksheets[0];
 6     //Gets a Range object.
 7     IRange range = worksheet.Cells.CreateRange("B2:C3");
 8     //Merges the specified range.
 9     range.Merge();
10     //Gets a Cell object in the Range object.
11     ICell cell = worksheet.Cells[0, 0];
12     //Sets value to the Cell object.
13     cell.Value = "Hello World";
14     //Gets format of the Range object.
15     ICellFormat cellFormat = range.CellFormat;
16     //Sets font's name of format.
17     cellFormat.Font.Name = "Arial";
18     //Sets font's size of format.
19     cellFormat.Font.Size = 12;
20     //Sets font's bold of format.
21     cellFormat.Font.Bold = true;
22     //Sets border of format.
23     cellFormat.Borders.SetBorderStyle(BorderMembers.Outside, BorderStyle.Dotted);
24     //Sets fill pattern of format.
25     cellFormat.Pattern = Pattern.Gray75;
26     //Sets foreground color of format.
27     cellFormat.ForegroundColor = Color.Red;
28     //Sets background color of format.
29     cellFormat.BackgroundColor = Color.Green;
30       //Saves to excel file. 
31     workbook.SaveAs(@"D:\range.xls", FileFormat.Excel97To2003);
Example 4  如何應用為行使用指定的樣式在Excel文檔中?
View Code
 1 //Creates a Workbook object.
 2  IWorkbook workbook = ExcelxApplication.CreateWorkbook();
 3  //Gets a Worksheet object by using zero-based index.
 4  IWorksheet worksheet = workbook.Worksheets[0]; 
 5  //Gets a Row object by using zero-based index.
 6  IRow row = worksheet.Rows[0];
 7  //Gets a Style object collection in the Workbook object.
 8  IStyleCollection styles = workbook.Styles;
 9  //Adds a bulit-in style.
10  IStyle style = styles.Add(BulitInStyle.Accent1);
11  //Applies the specified style to the Row object.
12  row.ApplyStyle(style); 
13   //Saves to excel file. 
14  workbook.SaveAs(@"D:\applyStyle.xls", FileFormat.Excel97To2003);
 Example 5  如何插入圖片到Excel文檔中?   
View Code
 1   [C#]  
 2 
 3   //創建一個Workbook對象。
 4   IWorkbook workbook = ExcelxApplication.CreateWorkbook();
 5   //獲取Worksheet對象,采用零基表索引。
 6   IWorksheet worksheet = workbook.Worksheets[0];
 7   //獲取Worksheet中圖片對象集合。
 8   IPictureCollection pictures = worksheet.Pictures;
 9   //插入一個指定路徑的圖片到Worksheet中。 
10   IPicture picture = pictures.Add(@"Images\pic.png", 0, 1);
11   //保存Excel文檔到指定的位置。
12   workbook.SaveAs(@"D:\picture.xls", FileFormat.Excel97To2003);

 

性能測試

Example 1: 插入大量數據
View Code
 1 IWorkbook workbook = ExcelxApplication.CreateWorkbook();
 2  IWorksheet worksheet = workbook.Worksheets[0];
 3  ICell cell;
 4 string str = "abc";
 5 Stopwatch sw = new Stopwatch();
 6 sw.Start();
 7 for (int i = 0; i < 1000; i++)
 8 {
 9     for (int j = 0; j < 20; j++)
10     {
11         cell = worksheet.Cells[i, j];
12         cell.Value = str+i+j;
13     }
14 }  
15 workbook.SaveAs(@"D:\book1.xls", FileFormat.Excel97To2003);
16 sw.Stop();
17 Console.WriteLine("{0}s", sw.ElapsedMilliseconds / 1000d);

Output : 1.089s

生成1000 行20 列數據並保存excel文件,僅需要1.089s

Excel 2:大量使用富文本到Excel文檔中,檢查其性能。

View Code
 1 IWorkbook workbook = ExcelxApplication.CreateWorkbook();
 2             IWorksheet worksheet = workbook.Worksheets[0];
 3             string str = "abc";
 4             Stopwatch sw = new Stopwatch();
 5             sw.Start();
 6             for (int i = 0; i < 1000; i++)
 7             {
 8                 for (int j = 0; j < 20; j++)
 9                 {
10                     ICell cell = worksheet.Cells[i, j];
11                     cell.Value = str + i + j;
12                     ICharacters characters = cell.Characters;
13                     ICharacters subCharacters = characters.SubCharacters(1, 2);
14                     subCharacters.Font.Color = Color.Blue;
15                     subCharacters.Font.Size = 20;
16                 }
17             }
18             workbook.SaveAs(@"D:\book1.xls", FileFormat.Excel97To2003);
19             sw.Stop(); 
20             Console.WriteLine("{0}s", sw.ElapsedMilliseconds / 1000d);

Output : 2.566s

 

為什么需要Ace.Excel

開發需要Microsoft.Excel生成Excel文件服務器或者使用的計算機上安裝開發需要簡單而有效的操控內容

 

為什么選擇Ace.Excel

因為方便、快捷和穩定

 

聯系

您可以聯系我們的電子郵件地址我們很高興聽到有關組件的所有問題和意見的電子郵件地址happyfish78@hotmail.com我們會盡快回應

 

Acey.ExcelX for .NET 1.1包含的功能如下:

1.文檔功能

 

  •打開的Excel文件,從文件名

 •以不同的格式保存Excel文件目前支持Excel97To2003CSV和TabDelimited文件格式

 

工作簿功能列表
• 創建一個空白工作簿(默認情況下,一個新工作簿包含三個工作表)或者打開一個工作簿。
• 更改Excel中默認樣式,包含字體等。
• 選擇一個工作表。
• 復制工作簿。
• 設置部分工作簿選項。

• 添加自定義或內置Style到工作簿中。

 

工作表功能列表
• 重命名工作表。
• 添加或刪除工作表。
• 隱藏或顯示工作表。
• 移動或復制工作表。
• 顯示或隱藏行和列。
• 凍結或取消凍結行和列。
• 清除工作表背景。
• 獲取工作表中可用的區域。
• 更改工作表中網格線的顏色。
• 隱藏或顯示工作表中網格線。
• 隱藏或顯示工作表中滾動條。
• 隱藏或顯示工作表中行頭和列頭。
• 插入或刪除行、列。

 

單元格功能列表
• 添加數據和公式到單元格中。
• 設置富文本到單元格中。
• 設置整個單元格的樣式(包括設置數字的格式)。
• 引用指定的樣式到整個單元格區域。
• 復制整個單元格(包含數據和樣式)。
• 只復制整個單元格的樣式。

 

單元格區域
• 選擇特定的區域。
• 為選擇特定的區域設置樣式,包括設置數字的格式、內邊框和外邊框等。
• 引用指定樣式到特定的區域。
• 移動或復制選擇特定的區域(包含數據和樣式)。
• 只復制選擇特定的區域的樣式
• 支持從DataTable和數組導入數據到選擇特定的區域。
• 導出選擇特定的區域的數據到DataTable對象中。
• 清除選擇特定的區域的數據或樣式。
• 插入或刪除選擇特定的區域。

 

 行功能列表
• 顯示或隱藏行。
• 設置行高。
• 設置整個行樣式。
• 引用指定樣式到整個行。
• 復制整行(包括數據和樣式)。
• 只復制整行樣式。
• 清除整行的數據或樣式。
• 根據內容自動調整單元格的高度。

 

列功能列表
• 顯示或隱藏列。
• 設置列寬度。
• 設置整個列樣式。
• 引用指定樣式到整個列。
• 復制整列(包括數據和樣式)。
• 只復制整列樣式。
• 清除整列的數據或樣式。
• 根據內容自動調整單元格的寬度。

 

樣式功能:
•設置數字的格式。
•設置對齊方式。
•設置合並單元格或取消合並。
•設置字體。
•設置填充圖案和填充色。
•設置邊框。

 

頁面設置
• 設置頁面配置,包含頁面大小、打印區域等。

 

分頁符設置
•在指定的單元格中插入的水平和垂直分頁符。

 

應用數據有效性
使用數據有效性可以控制用戶輸入到單元格的數據或值的類型。例如,您可以使用數據有效性將數據輸入限制在某個日期范圍、使用列表限制選擇或者確保只輸入正整數。
• 添加輸入有效性到工作表中。
• 管理數據有效性所使用的區域。

 

應用條件格式
通過為數據應用條件格式,只需快速瀏覽即可立即識別一系列數值中存在的差異。
•添加條件格式到工作表中。
• 管理條件格式所使用的區域。

數據管理功能:
•訪問工作表中任何單元格或單元格區域。
•搜索數據在工作表中。
•設置公式到單元格中。
•應用數據有效性和條件格式。
•從DataTable或Array導入數據。
•導出數據到DataTable中。


超鏈接功能
•添加到工作表的超鏈接。
•在工作表中刪除特定的超鏈接。

 

圖形功能:
•添加圖片到工作表中。

 

其他功能:
•提供運行操作,比如插入、刪除、復制、合並和取消合並。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM