Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Zorroo
0 / 0 / 1
Регистрация: 19.12.2012
Сообщений: 178
Завершенные тесты: 1
1

Экспорт в Excel любой версии

13.02.2017, 16:50. Просмотров 328. Ответов 9
Метки нет (Все метки)

Приветствую если способ экспорт в офис(ексель) любой версии.
Использую Microsoft.office.interdrop;
С OpenXML не разобрался (если у кого есть пример с выводом поделитесь).
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2017, 16:50
Ответы с готовыми решениями:

Экспорт в Excel: Прекращена работа программы "Microsoft Excel"
Файл сохраняется успешно, но поле строки excelApp.Quit(); Появляется окно ошибки Excel: ...

Экспорт в EXCEL
Помогите разобраться. У меня есть экспорт: Excel.Application oExcel = null; ...

Экспорт в Excel
The type or namespace name 'Office' does not exist in the namespace 'Microsoft' (are you missing an...

Экспорт в Excel
На форме сombobox и кнопка.по нажатии на кнопку мне нужно экспортировать из бд в Excell по...

Экспорт в DataGridView в Excel
как экспортировать таблицу datagridview в Excell на С#

9
Getsok
14 / 14 / 2
Регистрация: 26.04.2015
Сообщений: 60
13.02.2017, 21:15 2
в данном примере идет импорт в excel из dataTable
подключаешь ссылку microsoft excel 14.0 object library
затем
C#
1
using Excel = Microsoft.Office.Interop.Excel;
в самом коде
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Excel.Application xlApp = new Excel.Application(); // запускаем Excel для чтения входного файла
Excel.Workbook wb = xlApp.Workbooks.Open(System.Windows.Forms.Application.StartupPath + "\\Template_1.xlsx"); // открываем шаблон указываю документ, в который буду записывать данные
Excel.Worksheet ws = (Excel.Worksheet)wb.Worksheets["Лист1"];   //  выбор листа 
int x = 1; // строка листа excel
foreach (DataRow nc in dt.Rows) 
{
              ws.Cells[x, 1] = nc["F1"].ToString(); //F1 - название столбца в dataTable dt  //ws.Cells[x, 1]  - x-строка в excel документе; 1 - столбец
              ws.Cells[x, 2] = nc["F2"].ToString(); //F2 - название столбца в dataTable dt 
              ws.Cells[x, 3] = nc["F3"].ToString(); //F3 - название столбца в dataTable dt 
              ws.Cells[x, 4] = nc["F4"].ToString(); //F4 - название столбца в dataTable dt 
              x++;
{
wb.SaveAs(указать куда сохранить документ и указать его имя)
wb.Close();
xlApp.Quit()
можно обойтись без Interop, используя oledb. Если интересно, то завтра скину рабочий код...под рукой сейчас ничего нет)
0
Zorroo
0 / 0 / 1
Регистрация: 19.12.2012
Сообщений: 178
Завершенные тесты: 1
14.02.2017, 06:49  [ТС] 3
Благодарю, я использовал. Interdrop. Неправильно изъяснился. Он не запускается на старых версиях office
0
_exp10der_
Warrior
491 / 418 / 177
Регистрация: 23.11.2014
Сообщений: 932
14.02.2017, 07:29 4
Если подойдет вот этот формат https://en.wikipedia.org/wiki/Office_Open_XML
то вот пример Требуется консультация по экспорту данных
0
14.02.2017, 07:29
Getsok
14 / 14 / 2
Регистрация: 26.04.2015
Сообщений: 60
14.02.2017, 09:32 5
из dataTable в Excel.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
////connect database
            //using (OleDbConnection conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + @"D:\1.xlsx" + ";Extended Properties='Excel 12.0 XML;HDR=NO;';"))
            //{
            //    conn.Open();
            //    string sql = "CREATE TABLE [Sheet1]([1]string,[2]string,[3]string,[4]string,[5]string)";
            //    OleDbCommand cmd = new OleDbCommand(sql, conn);
            //    cmd.ExecuteNonQuery();
            //    for (int i = 0; i < dt.Rows.Count; i++)
            //    {
            //        cmd = new OleDbCommand("INSERT INTO [Sheet1$] VALUES ('" + dt.Rows[i][0].ToString() + "','" + dt.Rows[i][1].ToString() + "','" + dt.Rows[i][2].ToString() + "','" + dt.Rows[i][3].ToString() + "','" + dt.Rows[i][4].ToString()+ "')", conn);
            //        cmd.ExecuteNonQuery();
            //    }
            //}
на компах с 2003 офисом установить это https://www.microsoft.com/en-us/download/details.aspx?id=13255
1
Zorroo
0 / 0 / 1
Регистрация: 19.12.2012
Сообщений: 178
Завершенные тесты: 1
14.02.2017, 15:17  [ТС] 6
А может пожалуйста показать как делать это с datagridview ,пытался сделать не особо дошло
0
Getsok
14 / 14 / 2
Регистрация: 26.04.2015
Сообщений: 60
14.02.2017, 20:55 7
Zorroo, как у Вас происходит наполнение DataGridView, откуда dwg получает данные?
0
Zorroo
0 / 0 / 1
Регистрация: 19.12.2012
Сообщений: 178
Завершенные тесты: 1
15.02.2017, 06:52  [ТС] 8
Заполняется sql-запросом добавляються колонки и значения с таблицы которая находиться в документе mdb (acces)
0
Getsok
14 / 14 / 2
Регистрация: 26.04.2015
Сообщений: 60
16.02.2017, 19:11 9
Zorroo, для эксперимента и проверки работы моего кода можешь из DataGridView перенести данные в datatable, а уже из datatable в excel.
У тебя из sql сразу в DataGridView? О_о может в dataset?
0
Zorroo
0 / 0 / 1
Регистрация: 19.12.2012
Сообщений: 178
Завершенные тесты: 1
18.02.2017, 18:08  [ТС] 10
Именно в datagridview через запрос,и не особо догоняю как переделать .
0
18.02.2017, 18:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2017, 18:08

Экспорт DataGridView в Excel
Доброго времени суток. Мне необходима помощь. Не выходит выполнить экспорт в Excel возникает...

Экспорт datagrid в Excel
Добрый день. Очень нужна помощь. Есть шаблон в Excel'e нужно экспортировать таблицу из dataGrid'a...

Экспорт из C# sql в Excel
Всем привет! Таблицу SQL нужно экспортировать в Excel. Делаю таким способом:...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru