[英]inserting an image to excel sheet doesnt work
我正在嘗試將圖像插入excel表格,如下所示。
Image img = Image.FromFile("test.jpg");
sheet.get_Range("A1").set_Item(1,1,img);
但是當excel在A1單元格中打開時,沒有任何圖片,
但只有這個結果: System.Drawing.Bitmap
那么問題是什么,我該如何解決呢。 第二個問題是:
如果我的圖片位於數據庫中,如何插入excel。 我不想將它們保存到計算機以插入Excel? [WinForm的]
Try this:
object missing = System.Reflection.Missing.Value;
Excel.Range picPosition = sheet.get_Range("A1"); // retrieve the range for picture insert
Excel.Pictures p = yourWorksheet.Pictures(missing) as Excel.Pictures;
Excel.Picture pic = null;
pic = p.Insert(yourImageFilePath, missing);
pic.Left = Convert.ToDouble(picRange.Left);
pic.Top = picRange.Top;
pic.Placement = // Can be any of Excel.XlPlacement.XYZ value
System.Data.SqlClient.SqlDataReader rdr = null;
System.Data.SqlClient.SqlConnection conn = null;
System.Data.SqlClient.SqlCommand selcmd = null;
try
{
conn = new System.Data.SqlClient.SqlConnection
(System.Configuration.ConfigurationManager.ConnectionStrings
["ConnectionString"].ConnectionString);
//here set your query to get image from databse
selcmd = new System.Data.SqlClient.SqlCommand
("select pic1 from msg where msgid=" +
context.Request.QueryString["imgid"], conn);
conn.Open();
rdr = selcmd.ExecuteReader();
while (rdr.Read())
{
byte[] YourImagebytearray = ((byte[])rdr["pic1"]);
MemoryStream stream = new MemoryStream(bytes);
var newImage = System.Drawing.Image.FromStream(stream);
stream.Dispose();
}
if (rdr != null)
rdr.Close();
}
finally
{
if (conn != null)
conn.Close();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.