找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2354|回复: 2

[分享] Aspose.Cells 表格控件

[复制链接]

已领礼包: 859个

财富等级: 财运亨通

发表于 2015-6-8 08:36:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
原文地址 : http://blog.163.com/wentworth011 ... 242201223141915448/

这两天用Aspose.Cells构建一个Excel报表,感觉这个组件还比较好用.记录一下常用的使用知识:
1.创建Workbook和Worksheet

0.jpg 1.jpg workbook&worksheet1
Workbook wb = new Workbook();
wb.Worksheets.Clear();
wb.Worksheets.Add("New Worksheet1");//New Worksheet1是Worksheet的name
Worksheet ws = wb.Worksheets[0]; 复制代码


如果直接用下边两句则直接使用默认的第一个Worksheet:

2.jpg 3.jpg workbook&worksheet2
Workbook wb = new Workbook();
Worksheet ws = wb.Worksheets[0]; 复制代码


2.给Cell赋值设置背景颜色并加背景色:

4.jpg 5.jpg cell1
Cell cell = ws.Cells[0, 0];
cell.PutValue("填充"); //必须用PutValue方法赋值
cell.Style.ForegroundColor = Color.Yellow;
cell.Style.Pattern = BackgroundType.Solid;
cell.Style.Font.Size = 10;
cell.Style.Font.Color = Color.Blue; 复制代码


自定义格式:

6.jpg 7.jpg cell2
cell.Style.Custom = "ddd, dd mmmm 'yy"; 复制代码


旋转字体:

8.jpg 9.jpg cell3
cell.Style.Rotation = 90; 复制代码



3.设置Range并赋值加Style

10.jpg 11.jpg range1
int styleIndex = wb.Styles.Add();
Style style = wb.Styles[styleIndex];
style.ForegroundColor = Color.Yellow;
style.Pattern = BackgroundType.Solid;
style.Font.Size = 10;

//从Cells[0,0]开始创建一个2行3列的Range
Range range = ws.Cells.CreateRange(0, 0, 2, 3);
Cell cell = range[0, 0];
cell.Style.Font = 9;
range.Style = style;
range.Merge(); 复制代码


注意Range不能直接设置Style.必须先定义style再将style赋给Style.**设置和Cell基本一致.Range的Style会覆盖Cell定义的Style.另外必须先赋值再传Style.否则可能不生效.

4.使用Formula:

12.jpg 13.jpg formula1
ws.Cells[0,0].PutValue(1);
ws.Cells[1,0].PutValue(20);
ws.Cells[2,0].Formula="SUM(A1:B1)";
wb.CalculateFormula(true); 复制代码


Save Excel文件的时候必须调用CalculateFormula方法计算结果.

5.插入图片:

14.jpg 15.jpg pictures1
string imageUrl = System.Web.HttpContext.Current.Server.MapPath("~/images/log_topleft.gif");
ws.Pictures.Add(10, 10, imageUrl);
复制代码


6.使用Validations:

16.jpg 17.jpg validations1
Cells cells = ws.Cells;

cells[12, 0].PutValue("Please enter a number other than 0 to 10 in B1 to activate data validation:");
cells[12, 0].Style.IsTextWrapped = true;

cells[12, 1].PutValue(5);
Validations validations = totalSheet.Validations;

Validation validation = validations[validations.Add()];
//Set the data validation type
validation.Type = ValidationType.WholeNumber;
//Set the operator for the data validation
validation.Operator = OperatorType.Between;
//Set the value or expression associated with the data validation
validation.Formula1 = "0";
//the value or expression associated with the second part of the data validation
validation.Formula2 = "10";

validation.ShowError = true;
//Set the validation alert style
validation.AlertStyle = ValidationAlertType.Information;
//Set the title of the data-validation error dialog box
validation.ErrorTitle = "Error";
//Set the data validation error message
validation.ErrorMessage = " Enter value between 0 to 10";
//Set the data validation input message
validation.InputMessage = "Data Validation using Condition for Numbers";
validation.IgnoreBlank = true;
validation.ShowInput = true;
validation.ShowError = true;

//设置Validations的区域,因为现在要Validations的位置是12,1,所以下面设置对应的也要是12,1
CellArea cellArea;
cellArea.StartRow = 12;
cellArea.EndRow = 12;
cellArea.StartColumn = 1;
cellArea.EndColumn = 1;
validation.AreaList.Add(cellArea);

/*
要注意 的地方Validations 也是和Range的Style一样,要新增的,否则不生效
*/
复制代码


上边不过是基础中的基础,要了解更多就要自己不断的尝试了.下边奉上帮助文档和DLL:
点击这里下载!

附送Excel支持的56种颜色: Excel报表支持的56种颜色(Excel2003及以下版本)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 859个

财富等级: 财运亨通

 楼主| 发表于 2015-6-8 08:42:05 | 显示全部楼层
无需Microsoft Excel,也能在应用程序中实现类似Excel的强大数据管理功能。

表格控件Aspose.Cells支持所有Excel格式类型的操作,在没有Microsoft Excel的环境下,用户也可为其应用程序嵌入类似Excel的强大数据管理功能。Aspose.Cells可以对每一个具体的数据,表格和格式进行管理,在各个层面导入图像,应用复杂的计算公式,并将应用程序中的表格保存为各种格式等等---完成所有的这一切功能都无需使用Microsoft Excel 和Microsoft Office Automation。

很多方法更接近 Excel Com ,第一次使用稍微慢一点,第二次使用效率会大幅提升!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 924个

财富等级: 财运亨通

发表于 2015-6-9 21:22:38 | 显示全部楼层
楼主辛苦了!!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-25 12:53 , Processed in 0.411667 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表