C#组件系列——又一款Excel处理神器Spire.XLS,你值得拥有(二)
2016-09-27 15:08
796 查看
前言:上篇 C#组件系列——又一款Excel处理神器Spire.XLS,你值得拥有 介绍了下组件的两个功能,说不上特色,但确实能解决我们项目中的一些实际问题,这两天继续研究了下这个组件,觉得有些功能用起来还是挺方便的,这篇继续来看看Spire.XLS的一些其他功能,说不定有你需要的呢~~
本文原创地址:http://www.cnblogs.com/landeanfen/p/5906077.html
就这么简单生成一个Excel文件
SheetStyle()
效果如下:
效果
当然,这个功能可能在一些特定的场合才会用上。
得到结果
得到结果
代码释疑:这里的两个参数怎么理解,第一个参数rowIndex,第二个参数columnIndex。为什么sheet.FreezePanes(2, 1)能冻结首行?这里博主的理解是这里的参数设置的是开始滑动的行和列。也就是说FreezePanes(2,1)表示从第二行、第一列开始可以滑动,而FreezePanes(1,2)表示从第一行、第二列开始可以滑动。这样是不是会好理解一点。
得到结果
以上表示对A1到C1这个区域的所有文本框进行过滤。效果如下:
效果如下:
效果
效果如下
当然,如果本文能够帮到你,还是希望园友们帮忙推荐,博主下次继续努力!
本文原创出处:http://www.cnblogs.com/landeanfen/
欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利
本文原创地址:http://www.cnblogs.com/landeanfen/p/5906077.html
一、基础入门
1、新建Workbook
Spire.XLS提供了多种方式创建Workbook对象1.1、新建空的Workbook
//新建Workbook Workbook workbook = new Workbook(); //得到第一个Sheet页 Worksheet sheet = workbook.Worksheets[0]; //给A2这个单元格设置值 sheet.Range["A2"].Text = "你好,Jim" ; //保存到物理路径 var strFullName = @"D:\Data\Upload\" + "Export" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xlsx"; workbook.SaveToFile(strFullName);
就这么简单生成一个Excel文件
public static void sheetStyle(Workbook book, Worksheet sheet) { CellStyle oddStyle = book.Styles.Add("oddStyle"); oddStyle.Borders[BordersLineType.EdgeLeft].LineStyle = LineStyleType.Thin; oddStyle.Borders[BordersLineType.EdgeRight].LineStyle = LineStyleType.Thin; oddStyle.Borders[BordersLineType.EdgeTop].LineStyle = LineStyleType.Thin; oddStyle.Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Thin; oddStyle.KnownColor = ExcelColors.LightGreen1; CellStyle evenStyle = book.Styles.Add("evenStyle"); evenStyle.Borders[BordersLineType.EdgeLeft].LineStyle = LineStyleType.Thin; evenStyle.Borders[BordersLineType.EdgeRight].LineStyle = LineStyleType.Thin; evenStyle.Borders[BordersLineType.EdgeTop].LineStyle = LineStyleType.Thin; evenStyle.Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Thin; evenStyle.KnownColor = ExcelColors.LightTurquoise; foreach (CellRange range in sheet.AllocatedRange.Rows) { if (range.Row % 2 == 0) range.CellStyleName = evenStyle.Name; else range.CellStyleName = oddStyle.Name; } //Sets header style CellStyle styleHeader = sheet.Rows[0].Style; styleHeader.Borders[BordersLineType.EdgeLeft].LineStyle = LineStyleType.Thin; styleHeader.Borders[BordersLineType.EdgeRight].LineStyle = LineStyleType.Thin; styleHeader.Borders[BordersLineType.EdgeTop].LineStyle = LineStyleType.Thin; styleHeader.Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Thin; styleHeader.VerticalAlignment = VerticalAlignType.Center; styleHeader.KnownColor = ExcelColors.Green; styleHeader.Font.KnownColor = ExcelColors.White; styleHeader.Font.IsBold = true; sheet.Columns[sheet.AllocatedRange.LastColumn - 1].Style.NumberFormat = "\"$\"#,##0"; sheet.Columns[sheet.AllocatedRange.LastColumn - 2].Style.NumberFormat = "\"$\"#,##0"; sheet.AllocatedRange.AutoFitColumns(); sheet.AllocatedRange.AutoFitRows(); sheet.Rows[0].RowHeight = 20; }
SheetStyle()
效果如下:
4、富文本编辑框
除了上面的一些简单样式外,组件还提供了富文本的编辑方式ExcelFont fontBold = book.CreateFont(); fontBold.IsBold = true; ExcelFont fontUnderline = book.CreateFont(); fontUnderline.Underline = FontUnderlineType.Single; ExcelFont fontColor = book.CreateFont(); fontColor.KnownColor = ExcelColors.Green; RichText richText = sheet.Range["A1"].RichText; richText.Text = "Bold and underlined and colored text"; richText.SetFont(0, 3, fontBold); richText.SetFont(9, 18, fontUnderline); richText.SetFont(24, 30, fontColor);
效果
当然,这个功能可能在一些特定的场合才会用上。
三、冻结行列
组件提供了非常方便冻结行列的功能。1、冻结行
sheet.FreezePanes(2, 1);
得到结果
2、冻结列
sheet.FreezePanes(1, 2);
得到结果
代码释疑:这里的两个参数怎么理解,第一个参数rowIndex,第二个参数columnIndex。为什么sheet.FreezePanes(2, 1)能冻结首行?这里博主的理解是这里的参数设置的是开始滑动的行和列。也就是说FreezePanes(2,1)表示从第二行、第一列开始可以滑动,而FreezePanes(1,2)表示从第一行、第二列开始可以滑动。这样是不是会好理解一点。
四、合并单元格
关于单元格的合并,组件使用也还算方便。var mergecolumn = sheet.Merge(sheet.Range[1, 2], sheet.Range[1, 3]); mergecolumn.VerticalAlignment = VerticalAlignType.Center; mergecolumn.HorizontalAlignment = HorizontalAlignType.Center; mergecolumn.Text = "第一个合并的单元格" ;
得到结果
五、选项过滤功能
组件提供了方便的组件过滤功能sheet.AutoFilters.Range = sheet.Range["A1:C1"];
以上表示对A1到C1这个区域的所有文本框进行过滤。效果如下:
六、下拉框
在Excel里面,经常需要用到的一个功能就是在编辑单元格的时候使用下拉框,这样方便了一些特定项的编辑。同样,组件也为我们提供了这个功能//下拉框 CellRange range = sheet.Range["A2:A6"]; //给E1到E10所有的单元格添加下拉选项,数据来源是A2到A6的值 sheet.Range["E1:E10"].DataValidation.DataRange = range;
效果如下:
七、显示、隐藏行列
对于行列隐藏也算是一个常用功能,方法如下//显示、隐藏行列 sheet.HideColumn(10); sheet.HideRow(8); //sheet.ShowColumn(10); //sheet.ShowRow(7);
效果
八、搜索结果高亮
foreach (CellRange range in sheet.FindAllString("行政部", true, true)) { range.Style.Color = Color.LawnGreen; }
效果如下
九、总结
至此,组件的一些基础功能介绍完毕。当然,这并不是全部,只是博主选的一些觉得或许有用的功能,更多功能可以参考官网文档。当然,如果本文能够帮到你,还是希望园友们帮忙推荐,博主下次继续努力!
本文原创出处:http://www.cnblogs.com/landeanfen/
欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利
相关文章推荐
- C#组件系列——又一款Excel处理神器Spire.XLS,你值得拥有
- C#组件系列——又一款Excel处理神器Spire.XLS,你值得拥有
- C#组件系列——又一款Excel处理神器Spire.XLS,你值得拥有
- C#组件系列——又一款Excel处理神器Spire.XLS,你值得拥有(二)
- C#组件系列 你值得拥有的一款Excel处理神器Spire.XLS
- 【目录】C#操作Excel组件Spire.XLS系列文章目录
- Excel组件Spire.XLS 教程:在Excel中设置单元格样式
- c# winform操作excel,选择最合适的组件来读取XLS
- 【FAQ】Excel组件Spire.XLS 技术FAQ汇总 | 附下载
- 专业Excel组件Spire.XLS 教程:在Excel中合并单元格
- JS组件系列——基于Bootstrap Ace模板的菜单和Tab页效果分享(你值得拥有)
- 【教程】Excel组件Spire.XLS 教程:如何在C#,VB.NET将CSV转换为PDF
- JS组件系列——基于Bootstrap Ace模板的菜单和Tab页效果分享(你值得拥有)
- 【在线演示】专业Excel 组件Spire.XLS 在线演示合集
- JS组件系列——基于Bootstrap Ace模板的菜单和Tab页效果分享(你值得拥有)
- Excel组件Spire.XLS 教程:将Excel导出到XML和XML导入Excel
- c#(winform,webform通用)利用npoi将xls文件复制为xlsx文件(excel的修改,保存,包括excel2003-office2007+的处理)
- JS组件系列——基于Bootstrap Ace模板的菜单和Tab页效果分享(你值得拥有)
- C#组件系列——又一款日志组件:Elmah的学习和分享
- C#组件系列——又一款日志组件:Elmah的学习和分享