Excel生成报表之解决方案--单元格富文本
先看下单元格设置富文本的效果:
先来看下微软Excel如何来设置富文本。
一、微软Excel设置富文本
1.首先在单元格C3中输入"Hello world".
2.选中单元格C3中Hello文本,点击右键鼠标,在弹出的窗口中选择"单元格格式", 如图:
3.在弹出的单元格窗口中,选择要设置的字体名称,大小,粗体等属性。
4.设置好后点击确定按钮,就能看到Hello文本显示的效果。
5.选择单元格C3中World文本,按设置Hello文本的方式设置World文本。就能完成单元格整个富文本的设置。
二、用Acey.ExcelX实现的效果
首先导出命名空间:
1 /// <summary> 2 /// 这个例子展示如何设置单元格富文本。 3 /// </summary> 4 public void Sample() 5 { 6 //创建工作薄对象。 7 IWorkbook workbook = ExcelxApplication.CreateWorkbook(); 8 //获取指定索引处的工作表对象。 9 IWorksheet worksheet = workbook.Worksheets[0]; 10 //获取指定名称的单元格对象。 11 ICell cell = worksheet.Cells["C3"]; 12 //设置单元格值。 13 cell.Value = "Hello World"; 14 //获取指定开始位置和长度的单元格富文本对象。 15 ICharacters characters = cell.Characters.SubCharacters(0, 5); 16 //设置富文本对象的字体属性。 17 characters.Font.Name = "楷体"; 18 characters.Font.Bold = true; 19 characters.Font.Size = 18; 20 characters.Font.Color = Color.Red; 21 22 //获取指定开始位置的单元格富文本对象。 23 characters = cell.Characters.SubCharacters(6); 24 //设置富文本对象的字体属性。 25 characters.Font.Name = "Verdana"; 26 characters.Font.Italic = true; 27 characters.Font.Size = 16; 28 characters.Font.Color = Color.Blue; 29 30 //保存该工作薄为指定类型。 31 workbook.SaveAs(@"d:\book1.xls", FileFormat.Excel97To2003); 32 }
其中ICharacters characters = cell.Characters.SubCharacters(0, 5);获取指定开始位置和长度的单元格富文本对象。相当于Excel中选择单元格C3中的Hello文本,
用代码获取富文本对象后通过设置characters.Font.Name = "楷体"; characters.Font.Bold = true; characters.Font.Size = 18;characters.Font.Color = Color.Red;
来完成对富文本对象字体的设置,类似在Excel中选择Hello后选择"单元格格式"的窗口中设置对应文本的字体属性。
获取富文本的也可以用语句characters = cell.Characters.SubCharacters(6);来实现,获取富文本从指定开始位置到文本最后,不同于前一个语句获取富文本指定文本的开始位置和长度。
三、总结
无需安装微软Excel,用代码也能很轻松实现单元格富文本的效果。 下载最新版本到www.aceyoffice.com。如果您想对Acey.ExcelX有进一步了解,在网站下载帮助和Demo。