Запись данных в 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("Файл успешно сохранён!");

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


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

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

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