C#アプリケーションを使用してExcelスプレッドシートに画像を挿入しようとしています。
私は私の情報源として以下を使用しました。http://csharp.net-informations.com/excel/csharp-insert-picture-excel.htm
この線全体に青色の下線が引かれています。
xlWorkSheet.Shapes.AddPicture("C:\\pic.JPG", Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, 50, 50, 300, 45);
私のコード:
private void btnWriteSpreedSheet_Click(object sender, EventArgs e)
{
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
xlApp = new Excel.ApplicationClass();
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
//xlWorkSheet.SetBackgroundPicture("C:/Users/Shaun/Documents/Visual Studio 2010/Projects/TestXMLToEXCEL/TestXMLToEXCEL/bin/Debugpic.JPG"); //
//add some text
xlWorkSheet.Cells[1, 1] = "http://csharp.net-informations.com";
xlWorkSheet.Cells[2, 1] = "Adding picture in Excel File";
xlWorkSheet.Shapes.AddPicture("C:\\pic.JPG", Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, 50, 50, 300, 45); //C:\\csharp-xl-picture.JPG
xlWorkBook.SaveAs("csharp.net-informations.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();
releaseObject(xlApp);
releaseObject(xlWorkBook);
releaseObject(xlWorkSheet);
MessageBox.Show ("File created !");
}
private void releaseObject(object obj)
{
try
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
obj = null;
}
catch (Exception ex)
{
obj = null;
MessageBox.Show("Unable to release the Object " + ex.ToString());
}
finally
{
GC.Collect();
}
}
エラーメッセージ:
'Microsoft.Office.Interop.Excel.Shapes.AddPicture(string、Microsoft.Office.Core.MsoTriState、Microsoft.Office.Core.MsoTriState、float、float、float、float)'に最適なオーバーロードされたメソッドの一致には、いくつかの無効な引数があります
タイプ'Microsoft.Office.Core.MsoTriState'は、参照されていないアセンブリで定義されています。アセンブリ'office、Version = 12.0.0.0、Culture = neutral、PublicKeyToken=71e9bce111e9429c'への参照を追加する必要があります。
引数2:「Microsoft.Office.Core.MsoTriState [c:\ users \ shaun \ document \ visual studio 2010 \ Projects \ TestXMLToEXCEL \ TestXMLToEXCEL\CreateSpreadSheet.cs]」から「Microsoft.Office.Core.MsoTriState」に変換できません
引数3:「Microsoft.Office.Core.MsoTriState [c:\ users \ shaun \ document \ visual studio 2010 \ Projects \ TestXMLToEXCEL \ TestXMLToEXCEL\CreateSpreadSheet.cs]」から「Microsoft.Office.Core.MsoTriState」に変換できません
私の参考文献:
using Excel = Microsoft.Office.Interop.Excel;
using Microsoft.Office.Core;
using Microsoft.Office;
using System.Xml;