Member 11859517 Ответов: 2

Как экспортировать файл. mdb (он находится в папке) в файл excel?


Я хочу экспортировать данные из файла. mdb, который находится в моей папке, в файл excel на языке c#,
как это сделать, кто-нибудь поможет мне с куском кода.
заранее спасибо
сушил

Что я уже пробовал:

Я пробовал использовать копию файла (". mdb", "excel"), но это не правильно, я думаю,
так есть ли какой-нибудь хороший способ сделать это,

кроме того, я ищу в google, но большинство решений напрямую используют подключение к базе данных,
но в моем случае файл .mdb находится в папке.

Примечание: здесь я создаю файл excel программно.

плз Хель мне.

2 Ответов

Рейтинг:
17

NagaNimesh 11474558

C# экспорт таблицы в Excel-переполнение стека[^]

Сначала прочитайте все таблицы в файле. mdb в набор данных, а затем обратитесь к приведенной выше ссылке .Надеюсь ты поймешь :)


Member 11859517

спасибо Наганимеш,
как заполнить набор данных мой mdb-файл находится в папке, потому что я тоже пробовал так,
знаете ли вы, как это сделать?

NagaNimesh 11474558

да, поставьте свой код, что вы уже пробовали, Я помогу Вам

NagaNimesh 11474558

http://sizious.com/2015/05/11/how-to-load-an-access-database-into-a-dataset-object-in-c/

Member 11859517

источник строки = @"D:\SushilBhat\Development\SCADA копирование файла\SCADA\CustomerData.mdb";

DataSet dataset = новый набор данных();

набор данных.Свойством Datasetname = Система.ИО.Путь.GetFileNameWithoutExtension(источник);


здесь я получаю количество таблиц 0;

NagaNimesh 11474558

System.IO.Path.GetFileNameWithoutExtension(source) вернет только имя типа CustomerData здесь вы не извлекали таблицы из mdb-файла.
System.IO.Path .GetFileNameWithoutExtension означает, что имя файла будет выглядеть как CustomerData ant, а не с расширением как.mdb. understand??

NagaNimesh 11474558

здесь dataset.datasetname означает, что u R извлекает имя из входного исходного пути с помощью метода GetFileNameWithoutExtension

NagaNimesh 11474558

см. эту ссылку
http://sizious.com/2015/05/11/how-to-load-an-access-database-into-a-dataset-object-in-c/

Member 11859517

слава Наганимешу, он работает нормально, но только данные отображаются не по имени столбца в моем excel.
Я создаю лист excel программно, чего-то не хватает при создании excel.

NagaNimesh 11474558

при чтении каждой таблицы вынос имен столбцов в строку массива затем после создания нового excel вы сначала добавляете эти заголовки строка массив затем данные

NagaNimesh 11474558

string[] columnNames = dt. Columns.Cast<datacolumn>()
.Выберите(х => У Х.Имя_столбца)
.Метод toArray();

Member 11859517

спасибо, все работает нормально.

И у меня есть еще таблица в файле. mdb, я хочу, чтобы каждая таблица была на отдельной вкладке (листе), это возможно. как это сделать, вы знаете?
спасибо снова.

NagaNimesh 11474558

plz обратитесь по этой ссылке
http://www.c-sharpcorner.com/blogs/generate-excel-with-multiple-sheet-from-dataset1

Member 11859517

спасибо Наганимеш,

NagaNimesh 11474558

удовольствие мое:) все ли сделано??

Member 11859517

да, все сделано правильно, Спасибо за помощь,

но я сомневаюсь в string connString = string.Формат("Поставщик=Майкрософт.Туз.Oledb для.12.0;Источник Данных={0};Идентификатор Пользователя=Admin;Пароль=",
он работает, но я скопировал ту же программу в другой проект, где получил ошибку
Поставщик "Microsoft.ACE.OLEDB.12.0" не зарегистрирован на локальном компьютере.
почему это происходит???, можете ли вы прояснить мои сомнения.
и почему мы используем OLEDB-соединение???

NagaNimesh 11474558

для базы данных MS доступ, мы должны использовать только oledb подключение и после 2007 года msaccess расширение .# то # но до 2007 МС офис, МС офис 2003 с расширением .MDB для этого мы должны предоставить поставщику, как Microsoft.Туз.OLED-дисплеем.12.0 и некоторого расширения я думаю, пожалуйста убедитесь, УР Управление будет в состоянии обеспечить для этого oledb для.12.0 . Я тоже не знаю, ожидал ли я этого..

Member 11859517

спасибо Наганимесу за Ваше разъяснение.
для этого мне нужно установить MS access database engine 2007, becz моего MS office - это только 2010 x32, и тогда моя проблема будет решена.

спасибо еще раз :):):)

NagaNimesh 11474558

с удовольствием :) всего наилучшего

Member 11859517

привет,
есть ли какой-нибудь способ сделать это без установки ms access в машину????,
здесь нам нужно установить ms access.

спасибо

NagaNimesh 11474558

hy common yar без установки ms access как получить файл из MS access db в excel

NagaNimesh 11474558

u может пойти с ms access 2003, как u может получить файл. mdb, то u может экспортировать в excel, но для этого поставщик не OLEDB. 12. 0 google для него k
но для ms access 2007 и после (. accdb) вы должны пойти с этим провайдером, понимаете??

Member 11859517

И у меня есть еще таблица в файле. mdb, я хочу, чтобы каждая таблица была на отдельной вкладке (листе), это возможно.

Рейтинг:
12

OriginalGriff

Вы не экспортируете его из MDB, вы должны попробовать импортировать его в Excel.
Это довольно просто: Как я могу импортировать данные в Microsoft® доступ в таблицы Excel® | почтовый ящик &ампер; Ресурсный центр[^]


Member 11859517

Эй спасибо,,
отображение именно того, что я хочу. Но я хочу то же самое в программном плане, как на кнопку нажать.
спасибо