Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2016, 04:44   #1
ya_yanchik-2909
Пользователь
 
Регистрация: 15.11.2016
Сообщений: 62
По умолчанию Выгрузка таблицы dataGridView в Excel

Создала приложение на C# для работы с большим массивом данных.
- Сначала в таблицу dataGridView загружаются документы Word и содержимое раскидывается по колонкам
- Затем таблица dataGridView выгружается в Excel.
Вопрос в том, что при выгрузке в Excel № почему-то выгружаются в формате даты (ставит мне дату, подходящую этому номеру).

? - Как установить формат ячеек в Excel через С#?
Таблицу я выгружаю всегда в новый документ Эксель, поэтому заранее отредактировать колонки не имею возможности.

Таков мой код

private void button6_Click(object sender, EventArgs e) // Создаем Excel //
{
Excel.Application excel = new Excel.Application(); // Создаем СОМ - объект Excel //
excel.Visible = true; // делаем объект видимым //
excel.SheetsInNewWorkbook = 4; // количество листов в книге //
excel.Workbooks.Add(Type.Missing); // добавляем книгу //
Excel.Workbook workbook = excel.Workbooks[1]; // получаем ссылку на первую открытую книгу //
Excel.Worksheet sheet = workbook.Worksheets.get_Item(1); // получаем ссылку на первый лист //

int rowExcel = 2; // начать со второй строки //
for (int i = 0; i < dataGridView1.Rows.Count; i++) // int i = 0 - начальное положение, индекс первого просматриваемого элемента; условие выхода из цикла; шаг движения по циклу //
{
sheet.Cells[rowExcel, "A"] = dataGridView1.Rows[i].Cells["Column1"].Value; // заполняем строку //
sheet.Cells[rowExcel, "B"] = dataGridView1.Rows[i].Cells["Column2"].Value; // В столбец "В" заполняем значения из колонки 2 ДатаГрида //
sheet.Cells[rowExcel, "C"] = dataGridView1.Rows[i].Cells["Column3"].Value;

++rowExcel;
}

sheet.Cells[1, 1] = "№ п/п";
sheet.Cells[1, 2] = "Фамилия_Имя_Отчество" ;
sheet.Cells[1, 3] = " № производства";
sheet.Cells.get_Range("A1", "E1").Font.Bold = true; // делаем их жирными //
sheet.Cells.get_Range("A1", "E1").ColumnWidth = 15;// ширина столбца //
sheet.Cells.get_Range("A1", "E1").ColumnWidth = 15; // размер шрифта //
sheet.Cells.get_Range("C1", "C20").NumberFormat = "String";

}

Последний раз редактировалось ya_yanchik-2909; 07.12.2016 в 05:59.
ya_yanchik-2909 вне форума Ответить с цитированием
Старый 07.12.2016, 05:09   #2
ya_yanchik-2909
Пользователь
 
Регистрация: 15.11.2016
Сообщений: 62
По умолчанию

Пробовала и так
sheet.get_Range("A15", "B15").NumberFormat = "# ##0,00";
и так
sheet.get_Range("A15", "B15").NumberFormat = "0.00";
Показывает вроде в другом формате, но совершенно другие цифры.

Или может есть что-типа того, чтобы оставлял цифры такими, какими они копируются?! (Как когда мы в экселе переносим ячейки с формулами, чтобы сохранить значения нажимаем - сохранить только значения, может и здесь что-то типа того)? Только как это на c# написал, это вопрос((

Номер выглядит так 1-10/2015

Последний раз редактировалось ya_yanchik-2909; 07.12.2016 в 05:19.
ya_yanchik-2909 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выгрузка схемы трубопровода в Autocad по данным таблицы Excel Nicolas_46 Microsoft Office Excel 0 11.12.2015 11:09
Выгрузка из MySQL в Excel (некорректный файл Excel) Maxx PHP 4 16.09.2015 00:07
Выгрузка в Excel c сохранением порядка столбцов из DataGridView b3rr C# (си шарп) 1 20.11.2014 18:14
Выгрузка в Excel city32 Общие вопросы Delphi 2 18.10.2012 15:58
Выгрузка данных из другой таблицы kuyann Microsoft Office Excel 2 18.12.2011 10:54