2012-02-16 8 views
0

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

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

В моей программе доступа 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#, что мне делать с отсутствием непечатаемого «варианта»? Как я могу продолжить? Кто-нибудь это сделал?

ответ

0

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

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

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

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

Смежные вопросы