本文以C#和vb.net代码示例展示如何来获取Excel工作表中图片的坐标位置。这里的坐标位置是指图片左上角顶点所在的单元格行和列位置,横坐标即顶点所在的第几列、纵坐标即顶点所在的第几行。下面是获取图片位置的详细方法及步骤。
【程序环境】
按照如下方法来引用Spire.Xls.dll 版本:12.2
方法1:将Free Spire.XLS for .NET包下载到本地,解压,安装到指定路径。完成安装后,在安装路径下找到BIN文件夹下的Spire.Xls.dll文件;然后在Visual Studio 中打开“解决方案资源管理器”,点击“引用”,“添加引用”,将安装路径下的dll文件引入VS程序。
方法2:通过NuGet安装。在Visual Studio 中打开“解决方案资源管理器”,点击“管理NuGet包”,搜索“Free Spire.XLS”,点击安装。
或者通过PM控制台安装:Install-Package FreeSpire.XLS -Version 12.2.0
【获取图片所在行、列位置】
下面是详细步骤:
- 创建Workbook类的对象。
- 调用Workbook.LoadFromFile(string fileName)方法加载Excel文件。
- 通过Workbook.Worksheets[int]属性获取指定工作表。
- 通过Worksheet.Pictures[int]获取指定图片。
- 通过ExcelPicture.TopRow属性和ExcelPicture.LeftColumn属性获取图片所在行、列位置。
- 最后,通过System.Console.Write()及System.Console.ReadLine()方法输出获取的结果。
以下是完成代码,供参考:
C#
using Spire.Xls;
namespace GetImgLocation
{
class Program
{
static void Main(string[] args)
{
//加载测试文档
Workbook wb = new Workbook();
wb.LoadFromFile("test.xlsx");
//获取第2个工作表
Worksheet sheet = wb.Worksheets[1];
//获取工作表中的第一张图片
ExcelPicture picture = sheet.Pictures[0];
//获取图片所在行、列位置
string row = picture.TopRow.ToString();
string column = picture.LeftColumn.ToString();
//输出获取结果
System.Console.Write("location:(" + row + "," + column + ")");
System.Console.ReadLine();
}
}
}
vb.net
Imports Spire.Xls
Namespace GetImgLocation
Class Program
Private Shared Sub Main(args As String())
'加载测试文档
Dim wb As New Workbook()
wb.LoadFromFile("test.xlsx")
'获取第2个工作表
Dim sheet As Worksheet = wb.Worksheets(1)
'获取工作表中的第一张图片
Dim picture As ExcelPicture = sheet.Pictures(0)
'获取图片所在行、列位置
Dim row As String = picture.TopRow.ToString()
Dim column As String = picture.LeftColumn.ToString()
'输出获取结果
System.Console.Write((Convert.ToString((Convert.ToString("location:(") & row) + ",") & column) + ")")
System.Console.ReadLine()
End Sub
End Class
End Namespace
读取结果如图,图片所在位置为第八行、第四列:
?
—END—
|