C# 给Excel单元格添加文本及图片批注
批注分为两种,文本批注和图片批注,常被用在一些报表中来注释一些额外的信息,这样有助于阅读的人更好的理解数据。那么如何添加批注呢?MicrosoftExcel给我们提供了内置的插入批注的功能使我们可以轻松地给单元格添加批注,这个很简单,就不介绍了。本篇文章的主要目的是分享如何使用C#编程的方式来实现这一功能。这里我使用了一款由E-iceblue公司开发的免费组件- Free Spire.XLS, 它是一款独立的.NET Excel组件,运行不依赖于Microsoft Office,使用起来也很简单。
准备工作
1. 下载Free Spire.XLS 并安装
2. 创建一个C# 控制台项目,并添加对Spire.XLS.dll的引用
代码
使用如下命名空间:
using System.Drawing;
using Spire.Xls;
第一步,加载Excel文档:
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
这里我是新建的Excel文档。Spire.XLS 也提供了Workbook. LoadFromFile(stringfileName)方法来加载现有的Excel文档。
第二步,添加文本批注:
ExcelFont font1 = workbook.CreateFont();
font1.FontName = "Calibri";
font1.Color = Color.Firebrick;
font1.IsBold = true;
sheet.Range["C6"].Comment.RichText.Text= "evanece@hotmail.com";
sheet.Range["C6"].Comment.Width= 200;
sheet.Range["C6"].Comment.Height= 50;
sheet.Range["C6"].Comment.RichText.SetFont(0,18, font1);
第三步,添加图片批注:
Image image = Image.FromFile(@"C: \Users\Administrator\Desktop\Logo.png");
sheet.Range["E6"].Comment.Fill.CustomPicture(image,"Logo.png");
sheet.Range["E6"].Comment.Height= image.Height;
sheet.Range["E6"].Comment.Width= image.Width;
第四步,保存文档:
workbook.SaveToFile("批注.xls", ExcelVersion.Version97to2003);
效果图
文本批注
图片批注
完整代码
using System.Drawing;
using Spire.Xls;
namespace Excel单元格添加批注
{
class Program
{
static void Main(string[] args)
{
Workbook workbook = newWorkbook();
Worksheet sheet = workbook.Worksheets[0];
ExcelFont font1 = workbook.CreateFont();
font1.FontName = "Calibri";
font1.Color = Color.Firebrick;
font1.IsBold = true;
sheet.Range["C6"].Comment.RichText.Text = "evanece@hotmail.com";
sheet.Range["C6"].Comment.Width= 200;
sheet.Range["C6"].Comment.Height= 50;
sheet.Range["C6"].Comment.RichText.SetFont(0,18, font1);
Imageimage = Image.FromFile(@"C: \Users\Administrator\Desktop\Logo.png");
sheet.Range["E6"].Comment.Fill.CustomPicture(image,"Logo.png");
sheet.Range["E6"].Comment.Height= image.Height;
sheet.Range["E6"].Comment.Width= image.Width;
workbook.SaveToFile("批注.xls",ExcelVersion.Version97to2003);
}
}
}
希望本文能给您带来一定的帮助!