Аватар для Jman
89 / 77 / 38
Регистрация: 11.10.2015
Сообщений: 860

Экспорт содержимого БД в csv

10.04.2017, 17:18. Показов 1403. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет! Благодаря форуму нашел пример реализации для Windows Form, помогите его подстроить под приложение WPF. В приложении использую DataGrid. Какие правильно элементы выбрать по DataGrid в WPF?
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
public static bool SaveDGVToCSVfile(string filename, DataGridView table, bool openInExcel)
        {
            try
            {
                StreamWriter sw = new StreamWriter(filename, false, Encoding.Unicode);
 
                List<int> col_n = new List<int>();
                foreach (DataGridViewColumn col in table.Columns)
                    if (col.Visible)
                    {
                        sw.Write(col.HeaderText + "\t");
                        col_n.Add(col.Index);
                    }
                sw.WriteLine();
                int x = table.RowCount;
                if (table.AllowUserToAddRows) x--;
 
                for (int i = 0; i < x; i++)
                {
                    for (int y = 0; y < col_n.Count; y++)
                        sw.Write(table[col_n[y], i].Value + "\t");
                    sw.Write(" \r\n");
                }
                sw.Close();                
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return false;
            }
 
            if (openInExcel)
            {
                try
                {
                    Process newProc = Process.Start("excel.exe", filename);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                }
            }
            return true;
        }
Добавлено через 10 минут
Еще есть один вариант

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
  private void MenuItem_Click_2(object sender, RoutedEventArgs e)
        {
            // Create the CSV file to which grid data will be exported.
            StreamWriter sw = new StreamWriter("d:\\test.csv", false);
            // First we will write the headers.
            DataTable dt = ((DataSet)grid.DataContext).Tables[0];  // ТУТ КРАШИТСЯ!
 
            int iColCount = dt.Columns.Count;
            for (int i = 0; i < iColCount; i++)
            {
                sw.Write(dt.Columns[i]);
                if (i < iColCount - 1)
                {
                    sw.Write(",");
                }
            }
            sw.Write(sw.NewLine);
            // Now write all the rows.
            foreach (DataRow dr in dt.Rows)
            {
                for (int i = 0; i < iColCount; i++)
                {
                    if (!Convert.IsDBNull(dr[i]))
                    {
                        sw.Write(dr[i].ToString());
                    }
                    if (i < iColCount - 1)
                    {
                        sw.Write(System.Globalization.CultureInfo.CurrentCulture.TextInfo.ListSeparator);
                    }
                }
                sw.Write(sw.NewLine);
            }
            sw.Close();
        }
На 6-ой строке вылетает исключение.

Добавлено через 1 час 16 минут
Вопрос закрыт.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.04.2017, 17:18
Ответы с готовыми решениями:

Экспорт данных после обработки в *.csv, используя Export-Csv
Данные находятся в файле sample.csv Команда Import-Csv -Encoding default -Delimiter &quot;;&quot; sample.Csv | ForEach-Object...

Экспорт в csv
Привет. Вопрос только один. Ниже скрипт экспорта в csv. Экспорт осуществляется только в одну ячейку с разделителями. Можно, чтобы...

Экспорт в csv
доброй ночи ув форумчане! не могу нормально выгрузить данные. выгружаю следующим образом: $bill_id = $_GET; $num =...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.04.2017, 17:18
Помогаю со студенческими работами здесь

Экспорт в csv
Добрый день. Помогите пожалуйста сделать экспорт из БД. Есть две таблицы: goods и category Таблица goods: goods_id | name |...

Экспорт в CSV
День добрый, я новичёк как и на форуме так и в программирование на php. Но возникла потребность выгрузить из БД csv-репорт. Как это...

Экспорт пользователей из csv в AD
Добрый вечер! Мне нужно из файла csv экспортировать пользователей в AD. В итоге следующая ошибка (вложение). Как мне это исправить?...

Экспорт CSV в Dataset()
Из csv файла нужно сделать таблицу Dataset() помогите пожалуйста

PHPExcel экспорт в csv
Добрый день. Коллеги, подскажите как правильно экспотрнуть: В переменой $res_arr находится двумерный массив: ФИО, Ответ Да, Ответ Нет. ...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

Новые блоги и статьи
Мульти-тенантные БД с PostgreSQL Row Security
Codd 23.04.2025
Современные облачные сервисы и бизнес-приложения всё чаще обслуживают множество клиентов в рамках единой программной инфраструктуры. Эта архитектурная модель, известная как мульти-тенантность, стала. . .
Реализация конвейеров машинного обучения с Python и Scikit-learn
AI_Generated 23.04.2025
Мир данных вокруг нас растёт с каждым днём, и умение эффективно обрабатывать информацию стало необходимым навыком. Специалисты по машинному обучению ежедневно сталкиваются с задачами предобработки. . .
Контроллеры Kubernetes Ingress: Сравнительный анализ
Mr. Docker 23.04.2025
В Kubernetes управление входящим трафиком представляет собой одну из ключевых задач при построении масштабируемых и отказоустойчивых приложений. Ingress — это API-объект, который служит вратами. . .
Оптимизация кода Python с Cython и Numba
py-thonny 23.04.2025
Python прочно обосновался в топе языков программирования благодаря своей простоте и гибкости. Разработчики любят его за читабельность кода и богатую экосистему библиотек. Но у этой медали есть и. . .
Микросервис на Python с FastAPI и Docker
ArchitectMsa 23.04.2025
В эпоху облачных вычислений и растущей сложности программных продуктов классическая монолитная архитектура всё чаще уступает место новым подходам. Микросервисная архитектура становится фаворитом. . .
Создаем веб-приложение на Vue.js и Laravel
Reangularity 23.04.2025
Выбор правильного технологического стека определяет успех веб-проекта. Laravel и Vue. js формируют отличную комбинацию для создания современных приложений. Laravel — это PHP-фреймворк с элегантным. . .
Максимальная производительность C#: Span<T> и Memory<T>
stackOverflow 22.04.2025
Мир высоконагруженных приложений безжалостен к неэффективному коду. Каждая миллисекунда на счету, каждый выделенный байт памяти может стать причиной падения производительности. Разработчики на C#. . .
JWT аутентификация в Java
Javaican 21.04.2025
JWT (JSON Web Token) представляет собой открытый стандарт (RFC 7519), который определяет компактный и самодостаточный способ передачи информации между сторонами в виде JSON-объекта. Эта информация. . .
Спринты Agile: Планирование, выполнение, ревью и ретроспектива
EggHead 21.04.2025
Спринты — сердцевина Agile-методологии, позволяющая командам создавать работающий продукт итерационно, с постоянной проверкой гипотез и адаптацией к изменениям. В основе концепции спринтов лежит. . .
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров
Programma_Boinc 21.04.2025
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров. 3 марта 2025 года, в результате обобщенного поиска простых чисел Ферма в PrimeGrid был найден. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru