Рейтинг:
4
Wessel Beulink
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
Excel._Application xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
//add data
xlWorkSheet.Cells[1, 1] = 13;
xlWorkSheet.Cells[1, 2] = 27;
xlWorkSheet.Cells[1, 3] = 22;
xlWorkSheet.Cells[1, 4] = 22;
xlWorkSheet.Cells[2, 1] = 42 ;
xlWorkSheet.Cells[2, 2] = 35;
xlWorkSheet.Cells[2, 3] = 22;
xlWorkSheet.Cells[2, 4] = 22;
xlWorkSheet.Cells[3, 1] = 1;
xlWorkSheet.Cells[3, 2] = 10;
xlWorkSheet.Cells[3, 3] = 4;
xlWorkSheet.Cells[3, 4] = 4;
Excel.ChartObjects xlCharts = (Excel.ChartObjects)xlWorkSheet.ChartObjects(Type.Missing);
Excel.ChartObject myChart = (Excel.ChartObject)xlCharts.Add(10, 80, 300, 250);
Excel.Chart chartPage = myChart.Chart;
myChart.Select();
chartPage.ChartType = Excel.XlChartType.xlXYScatterLines;
Microsoft.Office.Interop.Excel.Application xla = new Microsoft.Office.Interop.Excel.Application();
Excel.SeriesCollection seriesCollection = chartPage.SeriesCollection();
Excel.Series series1 = seriesCollection.NewSeries();
series1.XValues = xlWorkSheet.get_Range("A1", "B1"); ;
series1.Values = xlWorkSheet.get_Range("C1", "D1");
Excel.Series series2 = seriesCollection.NewSeries();
series2.XValues = xlWorkSheet.get_Range("A2", "B2"); ;
series2.Values = xlWorkSheet.get_Range("C2", "D2");
Excel.Series series3 = seriesCollection.NewSeries();
series3.XValues = xlWorkSheet.get_Range("A3", "B3"); ;
series3.Values = xlWorkSheet.get_Range("C3", "D3");
xlWorkBook.SaveAs(@"C:\ProgramData\RadiolocationQ\Text.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();
Ishakkhan
Спасибо за ваш ответ.Я использовал этот код, но он показывает ошибку типа
Невозможно неявно преобразовать тип "объект" в "Microsoft".Офис.Взаимодействие.Превосходить.Помощьюseriescollection'. Существует явное преобразование (вы пропускаете приведение?)
Wessel Beulink
заменить (Excel.Рабочий лист) xlWorkBook.Worksheets. get_Item (1) to:
(Microsoft.Офис.Взаимодействие.Превосходить.Рабочий лист) xlWorkBook.Worksheets. get_Item(1)
или импортировать Microsoft.Офис.Взаимодействие
Ishakkhan
Спасибо за ваши комментарии.Я попробовал код, который вы упомянули выше, но все равно это ошибка.
Wessel Beulink
На какой линии он тормозит? Там несколько Excel.SeriesCollection бросает в Примере.
Ishakkhan
В этом месте произошла ошибка.
Превосходить.SeriesCollection seriesCollection = chartPage.Помощьюseriescollection();
Wessel Beulink
Странный отлично работает на моем. Мэйби, ты что-то упускаешь.
Можете ли вы попробовать предварительно разыграть диаграмму?SeriesCollection () в Excel.Помощьюseriescollection
так:
Превосходить.SeriesCollection seriesCollection = (Microsoft.Офис.Взаимодействие.Превосходить.SeriesCollection)(chartPage.Помощьюseriescollection());
Ishakkhan
Большое вам спасибо, Мистер Вессел Бьюлинк.Теперь он работает совершенно нормально.Большое вам спасибо за ваши добрые ответы.
Wessel Beulink
Без проблем :)
Ishakkhan
Еще одно сомнение, сэр. Здесь вы жестко закодировали значения ячеек (A,B,C,D).но у меня есть datatable, так как же я могу интегрировать свой datatable в эту серию.Я новичок, сэр.Если я Задам глупый вопрос означает, Пожалуйста, aplogize меня.
Wessel Beulink
Да, это лист excel по умолчанию. Вы можете использовать.Cells. set_Item(row, col, value); функция на excel.range В и для изменения значений.
Или создал лист с именами, но это сложнее.
Вы можете найти более подробную информацию о: http://xlsxwriter.readthedocs.io/worksheet.html
Ishakkhan
Спасибо за ваши комментарии, сэр.
Ishakkhan
Г-н Вессель Бьюлинк здесь, файл excel был сохранен в уважаемом месте, но как я могу загрузить файл excel, когда я нажимаю на кнопку excel?
Wessel Beulink
Вы можете просто создать ссылку:
<a href='/path/to/excel/file.xls' target="_blank">Download</a>
Или вход:
<input type="button" value="Download" onClick="window.location.href='/path/to/excel/file.xls'">
Ishakkhan
Спасибо за ваши комментарии.