Я пытаюсь что-то сделать, но мне тяжело. Идея заключается в том, что я просто зацикливаю на листе excel и нахожу все диаграммы, устанавливаю его источник, а затем перемещаю этот лист в конец рабочей книги.C# set Excel chart source
Я использую C# и Microsoft.Office.Interop.Excel
EDIT
Причина, почему мне нужен цикл Еогеасп, это потому что я не знаю, сколько карт я буду иметь на что лист, как я хочу, чтобы позволить пользователю просто поставить диаграммы в лист, после того, как я динамически получать данные из SQL и поместить его в другой лист, мне нужно обновить эти диаграммы
Это то, что я пытался до сих пор
// Get source for charts
Excel.Range ChartSourceRange = xlWorkSheet3.Range["A4", "G5"];
// Here becomes the problem ...I don't know how to go foreach in excel sheet
foreach (Microsoft.Office.Interop.Excel.ChartObject item in xlWorkBook.Sheets[2])
{
item.Chart.SetSourceData(ChartSourceRange);
}
int totalSheets = xlWorkBook.Sheets.Count;
xlWorkBook.Sheets[2].Move(xlWorkBook.Sheets[totalSheets]);
Этот код дает мне исключение ...
Unable to cast COM object of type 'System.__ComObject' to
interface type 'System.Collections.IEnumerable'.
This operation failed because the QueryInterface call on the COM component for the
interface with IID '{496B0ABE-CDEE-11D3-88E8-00902754C43A}' failed
due to the following error: 'No such interface
supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE))'
and the COM component does not support IDispatch::Invoke calls for DISPID_NEWENUM.
Можете ли вы бросить мне советы, как изменить этот код, так что мой Еогеасп может пройти через Excel лист?
Спасибо
Спасибо, человек! Он работал как шарм. – Veljko89
. Добро пожаловать. – ehh