Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 24.05.2016
Сообщений: 3

Ошибка "не найдена колонка" при переносе данных из Excel

25.05.2016, 10:07. Показов 1152. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую. Появились проблемы при выполнении дипломной работы, при нажатии кнопки "печать" программа отправляет на печать пустой лист, а при нажатии на кнопку "отправить в MS Excel" появляется эта ошибка. Менял значение даже на то которое записано в бд, все равно жалуется. И еще не могу разобраться с кнопкой сохранить изменения в DGV, ошибки не выходят, но и не сохраняет.

Вот код полностью:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Printing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Microsoft.Office.Interop.Excel;
using Excel = Microsoft.Office.Interop.Excel;
 
namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            // TODO: данная строка кода позволяет загрузить данные в таблицу "iSTran12DataSet.ТС". При необходимости она может быть перемещена или удалена.
            this.тСTableAdapter.Fill(this.iSTran12DataSet.ТС);
 
        }
 
        private void ExportToExcel()
        {
            Excel.Application exApp = new Excel.Application();
            exApp.Workbooks.Add();
            Worksheet workSheet = (Worksheet)exApp.ActiveSheet;
            workSheet.Cells[1, 1] = "ID ТС";
            workSheet.Cells[1, 2] = "Марка";
            workSheet.Cells[1, 3] = "Модель";
            workSheet.Cells[1, 4] = "Рег.Номер";
            workSheet.Cells[1, 5] = "Гараж.Номер";
            workSheet.Cells[1, 6] = "VIN";
            workSheet.Cells[1, 7] = "Год Выпуска";
            workSheet.Cells[1, 8] = "Модель Двигателя";
            workSheet.Cells[1, 9] = "Номер Двигателя";
            workSheet.Cells[1, 10] = "Тип ТС";
            workSheet.Cells[1, 11] = "Шасси/Рама";
            workSheet.Cells[1, 12] = "Номер Кузова";
            workSheet.Cells[1, 13] = "Цвет";
            workSheet.Cells[1, 14] = "Мощность";
            workSheet.Cells[1, 15] = "Объём Двигателя";
            workSheet.Cells[1, 16] = "ПТС/ПСМ";
            workSheet.Cells[1, 17] = "Собственник";
            workSheet.Cells[1, 18] = "Топливо";
            workSheet.Cells[1, 19] = "Арендатор";
            workSheet.Cells[1, 20] = "Автошины";
            workSheet.Cells[1, 21] = "Тип Двигателя";
            workSheet.Cells[1, 22] = "Разрешенная мах масса";
            workSheet.Cells[1, 23] = "Категория";
            workSheet.Cells[1, 24] = "ТО";
            workSheet.Cells[1, 25] = "Ремонтные работы";
 
            int rowExcel = 2; //начать со второй строки.
 
            for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                //заполняем строку
                workSheet.Cells[rowExcel, "A"] = dataGridView1.Rows[i].Cells["ID ТС"].Value;
                workSheet.Cells[rowExcel, "B"] = dataGridView1.Rows[i].Cells["Марка"].Value;
                workSheet.Cells[rowExcel, "C"] = dataGridView1.Rows[i].Cells["Модель"].Value;
                workSheet.Cells[rowExcel, "D"] = dataGridView1.Rows[i].Cells["Рег.Номер"].Value;
                workSheet.Cells[rowExcel, "E"] = dataGridView1.Rows[i].Cells["Гараж.Номер"].Value;
                workSheet.Cells[rowExcel, "F"] = dataGridView1.Rows[i].Cells["VIN"].Value;
                workSheet.Cells[rowExcel, "G"] = dataGridView1.Rows[i].Cells["Год Выпуска"].Value;
                workSheet.Cells[rowExcel, "H"] = dataGridView1.Rows[i].Cells["Модель Двигателя"].Value;
                workSheet.Cells[rowExcel, "I"] = dataGridView1.Rows[i].Cells["Номер Двигателя"].Value;
                workSheet.Cells[rowExcel, "J"] = dataGridView1.Rows[i].Cells["Тип ТС"].Value;
                workSheet.Cells[rowExcel, "K"] = dataGridView1.Rows[i].Cells["Шасси/Рама"].Value;
                workSheet.Cells[rowExcel, "L"] = dataGridView1.Rows[i].Cells["Номер Кузова"].Value;
                workSheet.Cells[rowExcel, "M"] = dataGridView1.Rows[i].Cells["Цвет"].Value;
                workSheet.Cells[rowExcel, "N"] = dataGridView1.Rows[i].Cells["Мощность"].Value;
                workSheet.Cells[rowExcel, "O"] = dataGridView1.Rows[i].Cells["Объём Двигателя"].Value;
                workSheet.Cells[rowExcel, "P"] = dataGridView1.Rows[i].Cells["ПТС/ПСМ"].Value;
                workSheet.Cells[rowExcel, "Q"] = dataGridView1.Rows[i].Cells["Собственник"].Value;
                workSheet.Cells[rowExcel, "R"] = dataGridView1.Rows[i].Cells["Топливо"].Value;
                workSheet.Cells[rowExcel, "S"] = dataGridView1.Rows[i].Cells["Арендатор"].Value;
                workSheet.Cells[rowExcel, "T"] = dataGridView1.Rows[i].Cells["Автошины"].Value;
                workSheet.Cells[rowExcel, "U"] = dataGridView1.Rows[i].Cells["Тип Двигателя"].Value;
                workSheet.Cells[rowExcel, "V"] = dataGridView1.Rows[i].Cells["Разрешенная мах масса"].Value;
                workSheet.Cells[rowExcel, "W"] = dataGridView1.Rows[i].Cells["Категория"].Value;
                workSheet.Cells[rowExcel, "X"] = dataGridView1.Rows[i].Cells["ТО"].Value;
                workSheet.Cells[rowExcel, "Y"] = dataGridView1.Rows[i].Cells["Ремонтные работы"].Value;
 
                ++rowExcel;
            }
            string pathToXmlFile;
            pathToXmlFile = Environment.CurrentDirectory + "" + "MyFile.xls";
 
            workSheet.SaveAs(pathToXmlFile);
            exApp.Quit();
        }
 
        
 
        private void button1_Click(object sender, EventArgs e)
        {
            printDocument1.Print();
        }
 
        private void printDocument_PrintPage(object sender, PrintPageEventArgs e) // Метод печати для printDocument
        {
            Bitmap bmp = new Bitmap(dataGridView1.Size.Width + 10, dataGridView1.Size.Height + 10);
            dataGridView1.DrawToBitmap(bmp, dataGridView1.Bounds);
            e.Graphics.DrawImage(bmp, 0, 0);
        }
 
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
 
        }
 
        private void button1_Click_1(object sender, EventArgs e)
        {
            ExportToExcel();
        }
 
    }
}
Миниатюры
Ошибка "не найдена колонка" при переносе данных из Excel  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.05.2016, 10:07
Ответы с готовыми решениями:

Ошибка при переходе на следующую строку при переносе значений из excel в word
Приветствую знатоки vba.. Суть проблемы есть таблица ексель с цифрами и таблица word с объединенными ячейками в которую по закладке...

Изменения значений при переносе данных из DELPHI в MS Excel
Значит делаю я заполнение Таблицы, значение поля &quot;key&quot;=string а когда идет перенос в MS Excel то там вместо 14.1 отображается 14,1. ...

Размер файла при переносе данных из excel в access
Здравствуйте, Данные в excel занимают места в 10 раз меньше, чем такие же данные в access. Подскажите, пожалуйста, можно ли сделать,...

4
77 / 77 / 42
Регистрация: 30.09.2014
Сообщений: 342
25.05.2016, 10:19
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
public void SaveF(DataGridView GRID, string Name)
    {
 
 
        try
        {
 
            GRID.SelectAll();
            Clipboard.SetDataObject(GRID.GetClipboardContent());
 
            
 
            Stream myStream;
            SaveFileDialog saveFileDialog1 = new SaveFileDialog();
 
           saveFileDialog1.Filter = "xls files (*.xls)|*.xls|csv files (*.csv)|*.csv";
 
          //  saveFileDialog1.Filter = "xls files (*.xls)|*.xls";
            saveFileDialog1.FilterIndex = 0;
            saveFileDialog1.RestoreDirectory = true;
            saveFileDialog1.FileName = Name;
 
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
           //     if ((myStream = saveFileDialog1.OpenFile()) != null && saveFileDialog1.FilterIndex == 1 || saveFileDialog1.FilterIndex == 2)
                    if ((myStream = saveFileDialog1.OpenFile()) != null && saveFileDialog1.FilterIndex == 1)
                {
 
 
                    StreamWriter myWriter = new StreamWriter(myStream, System.Text.Encoding.Unicode);
 
                    myWriter.Write(Clipboard.GetText());
                    myWriter.WriteLine();
 
 
                    myWriter.Close();
                    MessageBox.Show("Успешно сохранено");
 
                }
 
 
 
 
                GRID.ClearSelection();
                
                                if (saveFileDialog1.FilterIndex == 2)
                                {
                                        StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.Unicode);
                                        int i;
                                        sw.Write(GRID.TopLeftHeaderCell.Value);
                                        sw.Write(";");
 
                                        for (i = 0; i < GRID.ColumnCount; i++)
                                        {
                                            sw.Write(GRID.Columns[i].HeaderCell.Value);
                                            if (i < GRID.ColumnCount - 1)
                                            {
                                                sw.Write(";");
                                            }
 
                                        }
                                        sw.Write(sw.NewLine);
 
                                        foreach (DataGridViewRow dr in GRID.Rows)
                                        {
                                            bool flag = true;
 
                                            for (i = 0; i < GRID.ColumnCount; i++)
                                            {
                                                if (flag == true)
                                                {
                                                    sw.Write(dr.HeaderCell.Value);
                                                    sw.Write(";");
                                                    flag = false;
                                                }
 
                                                sw.Write(dr.Cells[i].Value);
                                                if (i < GRID.ColumnCount - 1)
                                                {
                                                    sw.Write(";");
                                                }
                                            }
                                            sw.Write(sw.NewLine);
                          
                                        }
                                        sw.Close();
                                        MessageBox.Show("Успешно сохранено");
                                    }
                               
            }
 
          //  GRID.ClearSelection();
 
        }
 
       catch { MessageBox.Show("Сохранение невозможно (Возможно файл занят другим процессом)");}
 
 
    }

сохранят DGV в иксель и csv

Добавлено через 1 минуту
http://www.codeproject.com/Art... sg=4405304


а от сюда я печать с предпросмотром брал

Добавлено через 1 минуту
а сохранить вы хотите типо в бд перезаписать значение?
0
0 / 0 / 0
Регистрация: 24.05.2016
Сообщений: 3
25.05.2016, 10:25  [ТС]
Да, перезаписать в бд
0
77 / 77 / 42
Регистрация: 30.09.2014
Сообщений: 342
25.05.2016, 11:21
Мне примерно тож надо но я такого не делал еще) база данных какая?
0
0 / 0 / 0
Регистрация: 24.05.2016
Сообщений: 3
25.05.2016, 11:40  [ТС]
access
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.05.2016, 11:40
Помогаю со студенческими работами здесь

Избавиться от символа каретки, при переносе данных из Excel в StringGrid
Уважаемые друзья помогите избавиться от символа каретки, при переносе данных из Excel в StringGrid Делфи. Мой код переноса такой: ...

Перенос слов в названии столбцов Excel при переносе данных из DataGridView
Имеются длинные (по 2-3 слова) названия столбцов и самих столбцов 16. А мне нужно вывести ексель-файл на печать. из-за того что столбцы...

Ошибка при переносе значений между книгами и листами в Microsoft Excel
Всем доброго вечера! У меня вопрос не трудный (я так думаю), но всю голову сломал не могу понять в чем проблема. Задача следующая, у...

Ошибка при переносе данных в массив
Здравствуйте. Проблема с StudentsAverageMark. Для примера были созданы только 3 студента, но, возможно, понадобится больше, поэтому создан...

Ошибка при подключении к SQL базе данных при переносе программы
Я добавил базу данных SQL &quot;*.mdf&quot; к проекту. Если использовать параметры строки подключения типа: &quot;Data...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru