Запись данных в excel - C# (183641)
Формулировка задачи:
Моя программа записывает в ячейки екселя текст, который находиться в текстовых документах. Как поменять ячейки в которые будут записываться данные я тоже понял (parser.txt в коде). Суть проблемы в том, что программа каждый раз создает новый ексель и старые данные не сохраняются? Или что, как? Я не пойму. Есть идеи?
using System; using System.Collections.Generic; using System.Runtime.InteropServices; using ConsoleApplication13; using Excel = Microsoft.Office.Interop.Excel; using System.IO; using System.Text; namespace ConsoleApplication13 { class Price { public string Name { get; set; } public string Cost { get; set; } public string Site { get; set; } } class PrintExel { public static void ExportToExcel(List<Price> vPices) { // Загрузить Excel, затем создать новую пустую рабочую книгу Excel.Application excelApp = new Excel.Application(); // Сделать приложение Excel видимым excelApp.Visible = true; excelApp.Workbooks.Add(); Excel._Worksheet workSheet = excelApp.ActiveSheet; // Установить заголовки столбцов в ячейках workSheet.Cells[1, "A"] = "NameCompany"; workSheet.Cells[1, "B"] = "Site"; workSheet.Cells[1, "C"] = "Cost"; string parser = File.ReadAllText(@"parser.txt", Encoding.Default); int parsers = Convert.ToInt32(parser); int row = 1; foreach (Price c in vPices) { row++; workSheet.Cells[parsers, "A"] = c.Name; workSheet.Cells[parsers, "B"] = c.Site; workSheet.Cells[parsers, "C"] = c.Cost; } excelApp.DisplayAlerts = false; workSheet.SaveAs(string.Format(@"{0}\Price.xlsx", Environment.CurrentDirectory)); excelApp.Quit(); } } class Program { static void Main(string[] args) { /// Тест записи в эксель string a = File.ReadAllText(@"title.txt", Encoding.Default); string b = File.ReadAllText(@"asdd.txt", Encoding.Default); string c = File.ReadAllText(@"asd.txt", Encoding.Default); var ListPricee = new List<Price>(); ListPricee.Add(new Price { Name = a, Site = b, Cost = c }); // Записываем в эксель PrintExel.ExportToExcel(ListPricee); } } }
Решение задачи: «Запись данных в excel»
textual
Листинг программы
string fileName = "G:\\C#\\ExcelFile.xlsx"; //имя Excel файла Excel.Application xlApp = new Excel.Application(); Excel.Workbook xlWb = xlApp.Workbooks.Open(fileName); //открываем Excel файл Excel.Worksheet xlSht = xlWb.Sheets[1]; //первый лист в файле int iLastRow = xlSht.Cells[xlSht.Rows.Count, "A"].End[Excel.XlDirection.xlUp].Row; //последняя заполненная строка в столбце А for (int i = 1; i < 51; i++) { iLastRow++; xlSht.Cells[iLastRow, "A"].Value = i.ToString(); } //xlApp.Visible = true; xlWb.Close(true); //закрыть и сохранить книгу xlApp.Quit(); MessageBox.Show("Файл успешно сохранён!");
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д