c#在Excel指定儲存格中插入圖片

來源:互聯網
上載者:User

標籤:文檔   span   儲存格   size   cep   title   add   iss   width   

/// 將圖片插入到指定的儲存格位置,並設定圖片的寬度和高度。
/// 注意:圖片必須是絕對實體路徑
/// </summary>
/// <param name="RangeName">儲存格名稱,例如:B4</param>
/// <param name="PicturePath">要插入圖片的絕對路徑。</param>
public void InsertPicture(string RangeName, Excel._Worksheet sheet, string PicturePath)
{
 Excel.Range rng = (Excel.Range)sheet.get_Range(RangeName, Type.Missing);
rng.Select();
float PicLeft, PicTop, PicWidth, PicHeight;    //距離左邊距離,頂部距離,圖片寬度、高度
PicTop = Convert.ToSingle(rng.Top) ;
PicWidth = Convert.ToSingle(rng.MergeArea.Width);
PicHeight = Convert.ToSingle(rng.Height);
PicWidth = Convert.ToSingle(rng.Width);
PicLeft = Convert.ToSingle(rng.Left);//+ (Convert.ToSingle(rng.MergeArea.Width) - PicWidth) / 2;
try
{
Excel.Pictures pics = (Excel.Pictures)sheet.Pictures(Type.Missing);
pics.Insert(PicturePath, Type.Missing);
pics.Left = (double)rng.Left;
pics.Top = (double)rng.Top;
pics.Width = (double)rng.Width;
pics.Height = (double)rng.Height;

}
catch
{
}
//sheet.Shapes.AddPicture(PicturePath, Microsoft.Office.Core.MsoTriState.msoFalse,
// Microsoft.Office.Core.MsoTriState.msoTrue, PicLeft, PicTop, PicWidth, PicHeight);
}

如果是要在某個地區插入,改地區沒有命名的話,直接傳入選中地區

Cell1 = SourceSheet.Cells[第幾行, 第幾列];
Cell2 = SourceSheet.Cells[Row , Column];

SourceRange = SourceSheet.get_Range(Cell1, Cell2);

然後把上面的這句去掉 Excel.Range rng = (Excel.Range)sheet.get_Range(RangeName, Type.Missing);

把rng換成SourceRange

方法二:

sheet.Shapes.AddPicture(。。。。。)

/// 將圖片插入到指定的儲存格位置,並設定圖片的寬度和高度。
/// 注意:圖片必須是絕對實體路徑
/// </summary>
/// <param name="rng">Excel儲存格選中的地區</param>
/// <param name="PicturePath">要插入圖片的絕對路徑。</param>
public void InsertPicture(Excel.Range rng, Excel._Worksheet sheet, string PicturePath)
{
rng.Select();
float PicLeft, PicTop, PicWidth, PicHeight;
try
{
PicLeft = Convert.ToSingle(rng.Left);
PicTop = Convert.ToSingle(rng.Top);
PicWidth = Convert.ToSingle(rng.Width);
PicHeight = Convert.ToSingle(rng.Height);

  //參數含義:
      //圖片路徑
      //是否連結到檔案
      //圖片插入時是否隨文檔一起儲存
      //圖片在文檔中的座標位置 座標
      //圖片顯示的寬度和高度
sheet.Shapes.AddPicture(PicturePath, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoTrue, PicLeft, PicTop, PicWidth, PicHeight);

}
catch(Exception ex)
{
MessageBox.Show("錯誤:" + ex.Message);
}
}

c#在Excel指定儲存格中插入圖片

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.