首先說一下它的含義:
1. ”嵌入互操作類型”中的嵌入就是引進、導入的意思,類似於c#中using,c中include的作用,目的是告訴編譯器是否要把互操作類型引入。
2. “互操作類型”實際是指一系列Com組件的程序集,是公共運行庫中庫文件,類似於編譯好的類,接口等。
3. “嵌入互操作類型”設定為true,實際上就是不引入互操作集(編譯時候放棄Com程序集),僅編譯用戶代碼的程序集。而設定為false的話,實際就是需要從互操作程序集中獲取 COM 類型的類型信息。
它的設置方法是:
問題:
如下圖所示,有些時候互操作類型,在調試時的監視窗口中,就無法查看其變量,並不能顯示出其值,據猜測可能是在程序代碼中,並沒有對其進行引用。
所以可能需要如果查看某個互操作類型的具體值時,需要再代碼中先引用這個值,如下chart_group所示。
HWLPL_ChartInfo HWLPL_Data;
Excel.ChartObjects hwlpl_charts;
Excel.ChartObject chart_obj;
Excel.Chart tmp_chart;
int nchart_totall;
Excel.ChartGroup chart_group;
Excel.Series tmp_series;
// get the chart data
using (ExcelOperate_Tmp xlsHandle = new ExcelOperate_Tmp(strFilePath, false))
{
xlsHandle.OpenOrCreate();
Excel.Worksheet sheet = xlsHandle.GetWorksheet(2); //"表"
hwlpl_charts = (Excel.ChartObjects)sheet.ChartObjects(Type.Missing);
nchart_totall = hwlpl_charts.Count;
chart_obj = hwlpl_charts.Item(1);
tmp_chart = chart_obj.Chart;
//table = tmp_chart.SeriesCollection(Type.Missing);
chart_group = (Excel.ChartGroup)tmp_chart.ChartGroups(1);
tmp_series = (Excel.Series)chart_group.SeriesCollection(1);
chart_group = (Excel.ChartGroup)tmp_chart.ChartGroups(0);
}
至於是不是這個原因,需要大家去探索一下。
