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