Ошибка при выгрузке данных в Excel - C#
Формулировка задачи:
Ребят, подскажи в чем ошибка. Выгружается только одна запись из запроса, хотя должно быть 5 строк. Выгружается только шапка и одна строка. В чем дело?
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Data;
- using System.Windows.Documents;
- using System.Windows.Input;
- using System.Windows.Media;
- using System.Windows.Media.Imaging;
- using System.Windows.Navigation;
- using System.Windows.Shapes;
- using System.Data;
- using Excelb = Microsoft.Office.Interop.Excel;
- namespace Monitoring_v._2._0
- {
- /// <summary>
- /// Логика взаимодействия для MBPage.xaml
- /// </summary>
- public partial class page: UserControl
- {
- public page()
- {
- InitializeComponent();
- }
- private void but(object sender, RoutedEventArgs e)
- {
- // System.Windows.Forms.SaveFileDialog saveSrez = new System.Windows.Forms.SaveFileDialog();
- // saveSrez.AddExtension = true;
- // saveSrez.DereferenceLinks = false;
- // saveSrez.Title = "Экспорт в Excel";
- //// saveSrez.Filter = "Книга Excel (*.xlsx)|*.xlsx";
- /// saveSrez.DefaultExt = "xlsx";
- // if (saveSrez.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- // {
- DataTable dt = new DataTable();
- string sql = "select DateReport from table";
- dt = ServerCommand.SQLExecute(sql);
- Excelb.Application xlApp = new Excelb.Application(); // запускаем Excel для чтения входного файла
- Excelb.Workbook wb = xlApp.Workbooks.Open(System.Windows.Forms.Application.StartupPath + "\\Template_1.xlsx"); // открываем шаблон указываю документ, в который я буду записывать данные
- Excelb.Worksheet ws = (Excelb.Worksheet)wb.Worksheets["Лист1"]; // выбор листа
- int x = 2; // строка листа excel
- foreach (DataRow nc in dt.Rows)
- {
- ws.Cells[x, 1] = nc["DateReport"].ToString(); //F1 - название столбца в dataTable dt //ws.Cells[x, 1] - x-строка в excel документе; 1 - столбец
- //ws.Cells[x, 2] = nc["F2"].ToString(); //F2 - название столбца в dataTable dt
- // ws.Cells[x, 3] = nc["F3"].ToString();
- // ws.Cells[x, 4] = nc["F4"].ToString();
- x++;
- {
- //wb.SaveAs();
- wb.Close();
- xlApp.Quit();
- ///MessageBox.Show("ок");
- // }
- // MessageBox.Show("Действие отменено");
- }
- }
- }
- private void UserControl_Loaded(object sender, RoutedEventArgs e)
- {
- DataTable dt = new DataTable();
- string sql = "select DateReport from table";
- dt = ServerCommand.SQLExecute(sql);
- for (int i = 0; i < dt.Rows.Count; i++)
- {
- string newDate =
- Convert.ToDateTime(dt.Rows[i][0]).ToString("dd.MM.yyyy");
- start.Items.Add(newDate);
- finish.Items.Add(newDate);
- start.Text = start.Items[start.Items.Count - 1].ToString();
- finish.Text = finish.Items[finish.Items.Count - 1].ToString();
- }
- // MessageBox.Show("ок");
- }
- }
- }
Решение задачи: «Ошибка при выгрузке данных в Excel»
textual
Листинг программы
- var exc = (object[,])excel.Range[From + ":" + To].Value;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д