Ошибка при выгрузке данных в 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;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д