Импорт из Excel - PullRequest
       24

Импорт из Excel

0 голосов
/ 17 февраля 2012

Я использую Access 2007, SQL Server 2005 и 2008 и C # .net с VS20010.

Мне нужно проверить, а затем импортировать книгу Excel, которая была размещена в библиотеке документов SP.Я написал программу с использованием VBA в A2k7, чтобы я мог заставить ее работать, собрать все свои мысли и т. Д. Вскоре я собираюсь начать преобразовывать ее в C #, чтобы я мог запускать ее по расписанию из своего агента SQL Server.Аутентификация может быть забавной, посмотрим.

В моей программе Access VBA я использую простое утверждение для создания многомерного массива «вариантов».Это позволяет мне проверять каждую ячейку на правильный тип, прежде чем я попытаюсь присвоить ее локальной переменной.Некоторые ячейки должны быть числовыми.Другие я использую как строки, даже если они числовые.Поскольку данные могут вводиться вручную, я мог видеть практически любой контент в ячейках ... одна из причин, по которой я не просто импортирую его, так как большинство транспортных средств импорта (ACCESS, SSIS) используют определение Excel в отношении столбца "тип ".

    '
'   Get the range of used cells from the worksheet and stuff it into an array
'
xlApp.visible = False                   'Don't let the workbook be shown
Set xlWB = xlApp.Workbooks.Open(URL)    'Open the workbook
Set xlSH = xlWB.Worksheets(1)           'Must be the first worksheet in the workbook
HandleMessages 1, 0, 1, "Working on Workbook " & xlWB.NAME & ", Worksheet " & xlSH.NAME
Set xlRA = xlSH.UsedRange               'xlRA is the range of cells in the first workbook that are "USED"
strSheetArray = xlRA                    'This sets an array of variants to the two dimensional range xlRA

Итак, что касается C #, что мне делать с отсутствием нетипизированного" варианта "?Как мне продолжить?Кто-нибудь сделал это?

1 Ответ

0 голосов
/ 17 февраля 2012

Вы можете использовать dynamic в C # 4.0.

http://msdn.microsoft.com/en-us/library/dd264736.aspx

Тип является статическим типом, но объект типа динамический обход статическая проверка типов. В большинстве случаев он функционирует так, как будто имеет тип объект. Во время компиляции элемент, который напечатан как динамический Предполагается поддерживать любую операцию. Поэтому вам не нужно быть обеспокоен тем, получает ли объект свое значение от COM API , от динамический язык, такой как IronPython, из объекта документа HTML Модель (DOM), от размышления или откуда-то еще в программе. Однако, если код недействителен, ошибки обнаруживаются во время выполнения.

Ссылка показывает примеры использования dynamic с Excel.

...