2013-06-28 59 views
0

我想在datagridview中加載圖像,但到目前爲止,我只能獲取文本。如何將圖像從excel加載到datagridview

CODE

private void button1_Click(object sender, EventArgs e) 
     { 
      String name = "LOTUS"; 
      OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Users\\xy\\Downloads\\SCA.xls;Extended Properties='Excel 8.0;HDR=YES;IMEX=1;';"); 

      OleDbCommand oconn = new OleDbCommand("Select * From [" + name + "$]", con); 
      con.Open(); 

      OleDbDataAdapter sda = new OleDbDataAdapter(oconn); 
      DataTable data = new DataTable(); 
      sda.Fill(data); 
      dataGridView1.DataSource = data; 
     } 
+0

這是ASP或的WinForms –

+0

這是的WinForms –

+0

你不能做到這一點使用OLEDB - 你可能會需要直接自動化Excel和單獨訪問圖像。 –

回答

0

從這個Blog,沒有與剪貼板的解決方案。

事情是這樣的方式:

string shapeName = ""; 

for (int i = 0; i < sheet.Shapes.Count;i++) 
{ 
    Microsoft.Office.Interop.Excel.Shape shape=sheet.Shapes.Item(i); 
    if (shape.Type == MsoShapeType.msoPicture) 
    { 
     shapeName = shape.Name; 
    } 
} 

Worksheet sheet = GetFirstSheet(); 
if (sheet != null) 
{      
    Picture pict = sheet.Pictures(shapeName) as Picture; 
    pict.CopyPicture(XlPictureAppearance.xlScreen, XlCopyPictureFormat.xlBitmap);     
} 

if (Clipboard.ContainsImage()) 
{ 
    Image img=Clipboard.GetImage(); 
    pbPicture.Image = img; 
} 
相關問題