下载:见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文档中?
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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#]
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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文档中?
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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文档中?
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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文档中?
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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: 插入大量数据
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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文档中,检查其性能。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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文件,目前支持Excel97To2003,CSV和TabDelimited文件格式。
工作簿功能列表
• 创建一个空白工作簿(默认情况下,一个新工作簿包含三个工作表)或者打开一个工作簿。
• 更改Excel中默认样式,包含字体等。
• 选择一个工作表。
• 复制工作簿。
• 设置部分工作簿选项。
• 添加自定义或内置Style到工作簿中。
工作表功能列表
• 重命名工作表。
• 添加或删除工作表。
• 隐藏或显示工作表。
• 移动或复制工作表。
• 显示或隐藏行和列。
• 冻结或取消冻结行和列。
• 清除工作表背景。
• 获取工作表中可用的区域。
• 更改工作表中网格线的颜色。
• 隐藏或显示工作表中网格线。
• 隐藏或显示工作表中滚动条。
• 隐藏或显示工作表中行头和列头。
• 插入或删除行、列。
单元格功能列表
• 添加数据和公式到单元格中。
• 设置富文本到单元格中。
• 设置整个单元格的样式(包括设置数字的格式)。
• 引用指定的样式到整个单元格区域。
• 复制整个单元格(包含数据和样式)。
• 只复制整个单元格的样式。
单元格区域
• 选择特定的区域。
• 为选择特定的区域设置样式,包括设置数字的格式、内边框和外边框等。
• 引用指定样式到特定的区域。
• 移动或复制选择特定的区域(包含数据和样式)。
• 只复制选择特定的区域的样式
• 支持从DataTable和数组导入数据到选择特定的区域。
• 导出选择特定的区域的数据到DataTable对象中。
• 清除选择特定的区域的数据或样式。
• 插入或删除选择特定的区域。
行功能列表
• 显示或隐藏行。
• 设置行高。
• 设置整个行样式。
• 引用指定样式到整个行。
• 复制整行(包括数据和样式)。
• 只复制整行样式。
• 清除整行的数据或样式。
• 根据内容自动调整单元格的高度。
列功能列表
• 显示或隐藏列。
• 设置列宽度。
• 设置整个列样式。
• 引用指定样式到整个列。
• 复制整列(包括数据和样式)。
• 只复制整列样式。
• 清除整列的数据或样式。
• 根据内容自动调整单元格的宽度。
样式功能:
•设置数字的格式。
•设置对齐方式。
•设置合并单元格或取消合并。
•设置字体。
•设置填充图案和填充色。
•设置边框。
页面设置
• 设置页面配置,包含页面大小、打印区域等。
分页符设置
•在指定的单元格中插入的水平和垂直分页符。
应用数据有效性
使用数据有效性可以控制用户输入到单元格的数据或值的类型。例如,您可以使用数据有效性将数据输入限制在某个日期范围、使用列表限制选择或者确保只输入正整数。
• 添加输入有效性到工作表中。
• 管理数据有效性所使用的区域。
应用条件格式
通过为数据应用条件格式,只需快速浏览即可立即识别一系列数值中存在的差异。
•添加条件格式到工作表中。
• 管理条件格式所使用的区域。
数据管理功能:
•访问工作表中任何单元格或单元格区域。
•搜索数据在工作表中。
•设置公式到单元格中。
•应用数据有效性和条件格式。
•从DataTable或Array导入数据。
•导出数据到DataTable中。
超链接功能
•添加到工作表的超链接。
•在工作表中删除特定的超链接。
图形功能:
•添加图片到工作表中。
其他功能:
•提供运行操作,比如插入、删除、复制、合并和取消合并。