C#/VB.NET 獲取Excel中圖片所在的行、列座標位置

iceblue發表於2022-04-24

本文以C#和vb.net程式碼示例展示如何來獲取Excel工作表中圖片的座標位置。這裡的座標位置是指圖片左上角頂點所在的單元格行和列位置,橫座標即頂點所在的第幾列、縱座標即頂點所在的第幾行。下面是獲取圖片位置的詳細方法及步驟。

【程式環境】

按照如下方法來引用Spire.Xls.dll 版本:12.2.0

方法1:將Free Spire.XLS for .NET包下載到本地,解壓,安裝到指定路徑。完成安裝後,在安裝路徑下找到BIN資料夾下的Spire.Xls.dll檔案;然後在Visual Studio 中開啟“解決方案資源管理器”,點選“引用”,“新增引用”,將安裝路徑下的dll檔案引入VS程式。

方法2:通過NeGet安裝。在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—



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31499788/viewspace-2887780/,如需轉載,請註明出處,否則將追究法律責任。

相關文章