为有中文需求的客户提供多渠道中文技术支持.

Wed Jan 07, 2026 1:21 am

int startRow = targetRow + 1;
int endRow = sheet.LastDataRow;
使用spire.xls for net 时候,当获取文本最后一行没问题,当文本下面还有图片的时候,获取的时候将无法获取到图片的最后一行,
是否有问题解决呢

jackie.zhang
 
Posts: 6
Joined: Tue Dec 16, 2025 1:07 am

Wed Jan 07, 2026 5:33 am

您好,

感謝您的詢問。
“sheet.LastDataRow;”獲取的是excel文件中單元格中存在數據的最後一行行索引,非嵌入單元格的圖片數據並不包含其中。
您可以參考以下代碼獲取excel文件中圖片的最後一行行索引:
Code: Select all
Workbook wb = new Workbook();
            wb.LoadFromFile(@"test.xlsx");
            Worksheet sheet = wb.Worksheets[0];
            PicturesCollection pc = sheet.Pictures;

            for (int i = 0; i < pc.Count; i++)
            {
                ExcelPicture picture = pc[i];

                var rowtop = picture.TopRow;
                // 單位轉換
                var cellHeightPoints = sheet.GetRowHeight(rowtop);
                var cellhight=cellHeightPoints * 96.0 / 72.0;

                int picHeight= picture.Height;
                int index = (int)(picHeight / cellhight);
                int rowbuttom = rowtop + (int)(picHeight / cellhight);
                Console.WriteLine(rowbuttom);
            }
Sincerely,
Talia
E-iceblue support team
User avatar

talia.liu
 
Posts: 331
Joined: Mon Apr 14, 2025 3:33 am

Return to 中文技术支持