本文以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—