ODBC и Excel

puare

Данная связка с использованием ADO.NET рабоотает просто "на ура". Данные из экселевских таблиц выбираются, в них записываются. Есть только одно "но". Формулы в экселе не персчитыввают значения. Это так и должно быть или я что-то криво делаю? Задача в том, чтобы записав начальные данные в экселевский файл получить высчитанный им результат. Кто-нибудь сталкавался с подобным? Если да, то как решали проблему?

6yrop

а если дать команду пересчитать лист или книгу?

puare

а как? там только SQL-подобные команды насколько я понимаю... мне команду из асп-шного приложения выдавать как-то нужно...

6yrop

а как ты туда данные записываешь?
пересчитать -- должен быть такой метод у COM объекта.

puare

так я не ком использую, а ODBC соединение, и дальше стандартно через ADO.NET. Ком-объект получить в этом случае затруднительно...

6yrop

[offtopic]вот опять видно, что производить вычисления аля Excel на C#/Java, очень актуальная задача, что ж разработчики платформ об этом не задумываются [/offtopic]

puare

так задача не a-la excel вычисления, а в самом excel делать. Просто есть огромная таблица, которая что-то считает. В нее нуна внести пару параметров и посмотреть, что в итоге получится. Переписать логику таблицы на что-то более вменяемое совершенно нереально, т.к. таблица НА САМОМ ДЕЛЕ ОГРОМНАЯ.
и, вернемся к нашим баранам ты не в курсе, как через одбц ее решить?

evgen5555

А там нельзя вызвать скрипт, который будет всё это пересчитывать, в качестве хранимки?

puare

дык вот мучаюссь со вчераашнего вечера с этой темой... пока ничего похожего на мсдне не нашел...

puare

а, стой, ты имеешь в виду вызов скрипта в экселе для пересчета значений как хранимой процедуры через ODBC? не, счас буду пробовать, спасибо за подсказку. Да, кстати, а как такой скрипт в экселе написать?

gopnik1994

Calculate Method
See AlsoApplies ToExampleSpecificsCalculates all open workbooks, a specific worksheet in a workbook, or a specified range of cells on a worksheet, as shown in the following table.
To calculate Follow this example
All open workbooks Application.Calculate (or just Calculate)
A specific worksheet Worksheets(1).Calculate
A specified range Worksheets(1).Rows(2).Calculate
expression.Calculate
expression Optional for Application, required for Worksheet and Range. An expression that returns an object in the Applies To list.
Example
This example calculates the formulas in columns A, B, and C in the used range on Sheet1.
Worksheets("Sheet1").UsedRange.Columns("A:C").Calculate
Оставить комментарий
Имя или ник:
Комментарий: