|
> もしかして、参照設定に「Microsoft.CSharp.dll」が漏れていたりはしませんか?
まさにその通りでした。。
参照設定を追加したところ、ご提示頂きましたソースをコンパイル出来るようになりました。
ご指摘本当にありがとうございます。
以下のように修正しました。
---- 修正済みソースその1 ----
SetExcelData(sheet, 1, 2, columnNames.Count, rows.Count + 1, data);
------------------------------
---- 修正済みソースその2 ----
#region GetExcelRange (private : Excel範囲を取得)
private Excel.Range GetExcelRange(Excel.Worksheet sheet, int startX, int startY, int endX, int endY)
{
Excel.Range range0 = null;
Excel.Range range1 = null;
Excel.Range range2 = null;
Excel.Range range3 = null;
try
{
range0 = sheet.Cells;
range1 = range0.Item[startY, startX];
range2 = range0.Item[endY, endX];
range3 = sheet.Range[range1, range2];
}
finally
{
if (range0 != null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(range0);
}
if (range1 != null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(range1);
}
if (range2 != null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(range2);
}
}
return range3;
}
#endregion
#region SetExcelData (private : Excelへデータを設定)
private void SetExcelData(Excel.Worksheet sheet, int startX, int startY, int endX, int endY, object[,] data)
{
Excel.Range range = null;
try
{
range = GetExcelRange(sheet, startX, startY, endX, endY);
range.Value2 = data;
}
finally
{
if (range != null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(range);
}
}
}
#endregion
------------------------------
|