Запись данных в excel - C# (183641)

Узнай цену своей работы

Формулировка задачи:

Моя программа записывает в ячейки екселя текст, который находиться в текстовых документах. Как поменять ячейки в которые будут записываться данные я тоже понял (parser.txt в коде). Суть проблемы в том, что программа каждый раз создает новый ексель и старые данные не сохраняются? Или что, как? Я не пойму. Есть идеи?
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Runtime.InteropServices;
  4. using ConsoleApplication13;
  5. using Excel = Microsoft.Office.Interop.Excel;
  6. using System.IO;
  7. using System.Text;
  8. namespace ConsoleApplication13
  9. {
  10. class Price
  11. {
  12. public string Name { get; set; }
  13. public string Cost { get; set; }
  14. public string Site { get; set; }
  15. }
  16. class PrintExel
  17. {
  18. public static void ExportToExcel(List<Price> vPices)
  19. {
  20. // Загрузить Excel, затем создать новую пустую рабочую книгу
  21. Excel.Application excelApp = new Excel.Application();
  22. // Сделать приложение Excel видимым
  23. excelApp.Visible = true;
  24. excelApp.Workbooks.Add();
  25. Excel._Worksheet workSheet = excelApp.ActiveSheet;
  26. // Установить заголовки столбцов в ячейках
  27. workSheet.Cells[1, "A"] = "NameCompany";
  28. workSheet.Cells[1, "B"] = "Site";
  29. workSheet.Cells[1, "C"] = "Cost";
  30. string parser = File.ReadAllText(@"parser.txt", Encoding.Default);
  31. int parsers = Convert.ToInt32(parser);
  32. int row = 1;
  33. foreach (Price c in vPices)
  34. {
  35. row++;
  36. workSheet.Cells[parsers, "A"] = c.Name;
  37. workSheet.Cells[parsers, "B"] = c.Site;
  38. workSheet.Cells[parsers, "C"] = c.Cost;
  39. }
  40.  
  41. excelApp.DisplayAlerts = false;
  42. workSheet.SaveAs(string.Format(@"{0}\Price.xlsx", Environment.CurrentDirectory));
  43. excelApp.Quit();
  44. }
  45. }
  46. class Program
  47. {
  48. static void Main(string[] args)
  49. {
  50. /// Тест записи в эксель
  51. string a = File.ReadAllText(@"title.txt", Encoding.Default);
  52. string b = File.ReadAllText(@"asdd.txt", Encoding.Default);
  53. string c = File.ReadAllText(@"asd.txt", Encoding.Default);
  54. var ListPricee = new List<Price>();
  55. ListPricee.Add(new Price { Name = a, Site = b, Cost = c });
  56.  
  57. // Записываем в эксель
  58. PrintExel.ExportToExcel(ListPricee);
  59.  
  60. }
  61. }
  62. }

Решение задачи: «Запись данных в excel»

textual
Листинг программы
  1.   string fileName = "G:\\C#\\ExcelFile.xlsx"; //имя Excel файла  
  2.             Excel.Application xlApp = new Excel.Application();
  3.             Excel.Workbook xlWb = xlApp.Workbooks.Open(fileName); //открываем Excel файл
  4.             Excel.Worksheet xlSht = xlWb.Sheets[1]; //первый лист в файле
  5.             int iLastRow = xlSht.Cells[xlSht.Rows.Count, "A"].End[Excel.XlDirection.xlUp].Row;  //последняя заполненная строка в столбце А
  6.             for (int i = 1; i < 51; i++)
  7.             {
  8.                 iLastRow++;
  9.                 xlSht.Cells[iLastRow, "A"].Value = i.ToString();
  10.             }                        
  11.             //xlApp.Visible = true;
  12.             xlWb.Close(true); //закрыть и сохранить книгу
  13.             xlApp.Quit();
  14.             MessageBox.Show("Файл успешно сохранён!");

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут