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