将 Excel 工作表导入数据表
我被要求在我的应用程序中创建导入功能。我收到一个 Excel 工作表作为输入。该工作表具有列标题,后跟数据。用户只需从系统中选择一个 xls 文件,单击“上传”,该工具就会删除数据库中的表并添加新数据。
我认为最好的方法是将数据放入数据表对象中,并对数据表中的每一行执行 foeach 逐行插入数据库。
我的问题是,任何人都可以给我代码来打开 Excel 文件,知道数据在文件中的哪一行开始,并将数据导入到可数据对象中吗?
I have been asked to create import functionality in my application. I am getting an excel worksheet as input. The worksheet has column headers followed by data. The users want to simply select an xls file from their system, click upload and the tool deletes the table in the database and adds this new data.
I thought the best way would be too bring the data into a datatable object and do a foeach for every row in the datatable insert row by row into the db.
My question is what can anyone give me code to open an excel file, know what line the data starts on in the file, and import the data into a datable object?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
看看 Koogra。
您可以从 XLS 文件的路径实例化一个
WorkBook
对象。您可以从工作簿的
Sheets
属性访问WorkSheet
对象。您可以通过访问工作表的
Rows
属性(从索引MinRow
到MaxRow
)来枚举工作表中的行。您可以通过访问行的
Cells
属性(从索引MinColumn
到MaxColumn
)来枚举给定行中的单元格。每个单元格都有一个
Value
属性 (object
) 以及一个FormattedValue
方法 (string
)。尝试一下——我发现它非常直观且易于使用。
Take a look at Koogra.
You instantiate a
WorkBook
object from a path to an XLS file.You access a
WorkSheet
object from the workbook'sSheets
property.You can enumerate over the rows in the worksheet by accessing the sheet's
Rows
property from indexMinRow
toMaxRow
.You can enumerate over the cells in a given row by accessing the row's
Cells
property from indexMinColumn
toMaxColumn
.Each cell has a
Value
property (object
) as well as aFormattedValue
method (string
).Give it a try -- I've found it to be extremely intuitive and easy to use.
您可以使用 OleDbConnection 连接到 Excel 文件并使用 SQL 查询对其进行查询。
如果它是一个 Asp.Net 应用程序,那么您可以使用 FileUpload 控件并从文件中获取字节。然后您必须手动将其转换为数据表。
尝试以下链接:
OleDbConnection to excel file
字节数组到数据表
You can make use of an OleDbConnection to connect to excel file and the query it using SQL queries.
If it is an Asp.Net application, then you make use of the FileUpload control and get the bytes from the file. Then you will have to manually convert it to a datatable.
Try out these links:
OleDbConnection to excel file
Byte array to datatable
您正在寻找的是描述的概念 这里
如果您无论如何都不想使用第三方库,否则 Dans 解决方案将适合您
What your looking for is the concept described Here
Providing you dont want to use a third party library anyway, else Dans solution will suit you
首先你必须下载dll文件
NExcel.dll
通过使用这个 dll,你可以创建各种非常有用的对象
使用 vb 和 c# 将 excel 数据导入 .net。
祝你好运。
First you have to download the dll file namely
NExcel.dll
By using this dll you can make various object which are very useful for
import excel data in .net using both vb as well as c#.
Good luck.