生成excel文档即便没有安装微软Excel

下载:见https://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中。


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

 

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

 

其他功能:
•提供运行操作,比如插入、删除、复制、合并和取消合并。

posted @ 2012-06-28 07:29  AceyOffice  阅读(636)  评论(13编辑  收藏  举报