簡體   English   中英

Microsoft excel 互操作中的 Excel 表。 將圖像保存到文件

[英]Excel sheet in Microsoft excel interop. Save an image to a file

我在我的 c# 項目中安裝了 EPPlus,並使用它在 Excel 工作表中找到正確的圖像。 我想現在拍攝圖像並將其保存為 PNG 文件。

 FileInfo fi = new FileInfo(@"c:/folder/workbook.xlsx");
 using (ExcelPackage excelPackage = new ExcelPackage(fi))
  {
   ExcelWorksheet ws = excelPackage.Workbook.Worksheets[0];
   int imageCount = firstWorksheet.Drawings.Count;
   for (int i = 0; i <= imageCount-1; i++)
    {
       if (firstWorksheet.Drawings[i].DrawingType.ToString().ToLower() == "picture")
        {
         save it to a file;
        }
    }
  }

這是我所做的,效果很好。 當然,這有點縮寫。

OfficeOpenXml.Drawing.ExcelDrawing image = firstWorksheet.Drawings[i]; OfficeOpenXml.Drawing.ExcelPicture p = (OfficeOpenXml.Drawing.ExcelPicture) 圖像; p.Image.Save(@"c:/autocell/becbec.png");

這適用於嵌入式 xml 文件/表。 我還粘貼了 jpegs、pngs 和位圖,這段代碼也很好地找到並保存了它們。

你可以給導出 URL 然后它將顯示在 excel 文件中

獲取絕對值 URL function

private string GetAbsoluteUrl(string relativeUrl)
{
    relativeUrl = relativeUrl.Replace("~/", string.Empty);
    string[] splits = Request.Url.AbsoluteUri.Split('/');
    if (splits.Length >= 2)
    {
        string url = splits[0] + "//";
        for (int i = 2; i < splits.Length - 1; i++)
        {
            url += splits[i];
            url += "/";
        }
 
        return url + relativeUrl;
    }
    return relativeUrl;
}

並像這樣保存它

//將相對 Url 轉換為絕對 Url 並將其設置為圖像控制。

Image1.ImageUrl = this.GetAbsoluteUrl(Image1.ImageUrl);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM