在之前的一篇文章中我介绍了如何给Excel添加形状并给形状填充文本和图片,今天这篇文章中我将介绍如何从形状中提取填充的文本和图片。该方案需要使用Spire.XLS组件。
原文档截图如下:
创建一个C#程序,引用Spire.Xls.dll文件,并参考以下步骤:
步骤1:加载Excel文档。
Workbook workbook = new Workbook();
workbook.LoadFromFile("AddShapes.xlsx");
步骤2:获取第一个工作表。
Worksheet sheet = workbook.Worksheets[0];
步骤3:从第一个形状中提取文本并保存到txt文件中。
IPrstGeomShape shape1 =sheet.PrstGeomShapes[0];
string s = shape1.Text;
StringBuilder sb = new StringBuilder();
sb.AppendLine(s);
File.WriteAllText("ShapeText.txt",sb.ToString());
步骤4:从第二个形状中提取图片并保存到本地文件夹。
IPrstGeomShape shape2 =sheet.PrstGeomShapes[1];
Image image = shape2.Fill.Picture;
image.Save(@"Image\ShapeImage.png",ImageFormat.Png);
提取的文本:
提取的图片:
完整代码:
//加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("AddShapes.xlsx");
//获取第一个工作表
Worksheet sheet = workbook.Worksheets[0];
//从第一个形状中提取文本并保存到txt文件中
IPrstGeomShape shape1 =sheet.PrstGeomShapes[0];
string s = shape1.Text;
StringBuilder sb = new StringBuilder();
sb.AppendLine(s);
File.WriteAllText("ShapeText.txt",sb.ToString());
//从第二个形状中提取图片并保存到本地文件夹
IPrstGeomShape shape2 =sheet.PrstGeomShapes[1];
Image image = shape2.Fill.Picture;
image.Save(@"Image\ShapeImage.png",ImageFormat.Png);