ASP.NET 导出Excel时,某单元格内一部分文字加粗加下划线
一、简述
在项目中的某个导出Excel的功能就需要在某个单元格中使一部分文字加粗和加下划线。
二、内容
在这个导出Excel的功能里用到了 Microsoft.Office.Interop.Excel 这个类库。
然后操作单元格:
Microsoft.Office.Interop.Excel.Range cells = (Microsoft.Office.Interop.Excel.Range)xlsWorkSheet.Cells; cells["1", "A"] = "第一行第一单元格"; cells["1", "B"] = "第一行第二单元格"; Microsoft.Office.Interop.Excel.Range b1 = cells.get_Range("B1"); b1.Font.Bold = true; b1.Font.Underline = true;
上图A1是Excel的普通样式,B1则是加粗、加下划线了的单元格,但是是一整个单元格文字都加粗、加下划线了。然后加上第二部分代码:
cells["2", "A"] = "第二行要加粗加下划线的一部分第一单元格"; Microsoft.Office.Interop.Excel.Range a2 = cells.get_Range("A2"); a2.Characters[3, 11].Font.Bold = true; a2.Characters[3, 11].Font.Underline = true;
上图A2单元格中就有一部分字体加粗、加下划线了。关键还是Characters这个属性,Characters属性的两个下标,一个是开始的位置(从1开始数起的),一个是文字的长度。
一开始不知道有这个Characters属性,差点把Excel的宏代码都搬出来了。真刺激。。。