Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/68: Рейтинг темы: голосов - 68, средняя оценка - 4.91
 Аватар для Etrimus
399 / 366 / 54
Регистрация: 23.05.2010
Сообщений: 716

Подключение к разным версиям Excel через OLEDB

22.08.2011, 09:23. Показов 13119. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, уважаемые форумчане, возник вопрос по подключению к excel-файлу, используя строки подключения.
Проблема в том, что есть компьютеры, на которых установлен Офис 2003.
Решил использовать старый формат xls, что бы работало везде у всех. Вот строка подключения для открытия xls-файла:
HTML5
1
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls; Extended Properties='Excel 8.0;HDR=Yes;IMEX=1';
Взял её с connectionstrings.com.
Проверил в WinXP с Office 2003 - всё отлично. Проверил в WinXP с Office 2007 - в одном из столбцов не отображается половина ячеек. Там столбик с номерами договоров клиентов. Где в договоре только цифры - отображается, где есть буквы - нет. От чего это может быть?
Как бы найти универсальное рещение, что бы хотя бы xls-файл нормально открывался в системах с разными Офисами?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.08.2011, 09:23
Ответы с готовыми решениями:

Привязать разные типы вордовских файлов к разным версиям офиса
Если установить 2003 и 2010 ворд на комп возможно ли привязать .док к 2003 а .докх к 2010 ворду? На 10 винде 2003 и 2016 офисы автоматом...

Подключение к XLSB через Microsoft.ACE.OLEDB.12.0
Здравствуйте! Впервые приходится создавать тему, потому что поиск по форуму не помог. Вводная. Имеется некий файл в переменного...

Данные из Excel через OleDB
Добрый вечер. Прошу помощи. Есть программа, которая перебирает файлы Excel и вытаскивает данные из них. Вот основная часть: ...

6
_
2364 / 1243 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
22.08.2011, 11:05
Etrimus, вообще провадер Microsoft.Jet.OLEDB.4.0 предназчен в основном для Офиса 2003 и ниже. Для офиса 2007 (как для экзеля, так и для аксеса) лучше использовать Microsoft.ACE.OLEDB.12.0, то есть строка подклюения будет выглядеть
Bash
1
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myOldExcelFile.xls;Extended Properties="Excel 12.0;HDR=YES";
2
 Аватар для Etrimus
399 / 366 / 54
Регистрация: 23.05.2010
Сообщений: 716
22.08.2011, 14:10  [ТС]
Eugene22, спасибо за отклик в теме. В том и проблема, если использовать такую строку подключения, то появляется диалогое окно с ошибкой в системе с установленным офисом 2003.
Отсюда вопрос. Можно ли как-то установить этот поставщик на компьютер?
Миниатюры
Подключение к разным версиям Excel через OLEDB  
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
22.08.2011, 14:19
Вроде то.
1
 Аватар для Etrimus
399 / 366 / 54
Регистрация: 23.05.2010
Сообщений: 716
22.08.2011, 14:47  [ТС]
Петррр, да, заработало на старом офисе, спасибо за ссылку.
0
0 / 0 / 0
Регистрация: 08.08.2012
Сообщений: 4
08.10.2012, 11:07
Цитата Сообщение от Etrimus Посмотреть сообщение
Проверил в WinXP с Office 2003 - всё отлично. Проверил в WinXP с Office 2007 - в одном из столбцов не отображается половина ячеек. Там столбик с номерами договоров клиентов. Где в договоре только цифры - отображается, где есть буквы - нет. От чего это может быть?
Как бы найти универсальное рещение, что бы хотя бы xls-файл нормально открывался в системах с разными Офисами?
Вижу, что вопрос уже закрыт, но решил внести свои 5 копеек т.к. не счтаю правильным устанавливать 25-30 метров доп драйверов, когда задача проста как хозяйственное мыло.
Суть проблемы в том, что у тебя столбец, теряющий данные, был определен автоматом как числовой и все не может быть конвертировано в число- пустота
1. Для этого в экселе надо жестко указать, что у тебя столбец - строковый и тебе будет счастье.
2. Следить за тем, чтобы не происходило конвертирование данных ячеек из строки в число (где это возможно) - (появляется треугольничек вверху ячейки с соотв. предложением) может возникнуть обратная проблема.
3. Наиболее эффективно, на мой взгляд, просто перейти на любую нормальную СУБД для обработки данных.
0
0 / 0 / 0
Регистрация: 28.04.2014
Сообщений: 4
11.07.2014, 06:22
Это дибильный метод. Файлы разные, задачи разные, данные разные. Невозможно всегда знать что должно быть и находится в столбце. Драйвера поставить - надежнее средство.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.07.2014, 06:22
Помогаю со студенческими работами здесь

Подключение к Access через OleDB и вывод результата запроса в textBox
Имеется подключение к Access через OleDB мне необходимо чтобы результат запросы выводился в textbox написал вот такой код using...

Проблема с подключением к Excel через OleDb и отправкой запроса
Здравствуйте, пытаюсь через OleDB подключиться к Excel и считать данные от туда. Вот как делаю: using System; using...

Не отображается кириллица при открытии файла Excel через OleDb
Привет всем! У меня есть вот такой код для открытия Excel-файла: connectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data...

Работа с файлом Excel через OleDb. Как организовать получение и сохранение данных?
Коллеги, добрый день! Написанный код работает с файлами Excel. Из указанной папки открывает каждый файл, получает из него данные и...

Oledb постоянно закрывает подключение
Подключение проходит нормально, но почему то все проверки на connection.state показывают что оно close, может я че то не так делаю: ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru