标题:请问怎么用select * from读取一个excel工作溥内N个sheet(表)的数据?
只看楼主
tuiop012
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-9-27
结帖率:0
已结贴  问题点数:20 回复次数:2 
请问怎么用select * from读取一个excel工作溥内N个sheet(表)的数据?
选择一个表的示例: "select * from [Sheet1$]";
但一个文件内有未知个Sheet,该怎么做。
搜索更多相关主题的帖子: 工作 excel 
2011-11-16 17:00
serious
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:81
专家分:497
注 册:2009-8-18
得分:10 
你应该用”Excel Interop“。
作为一个实例:
程序代码:
using System;
using Microsoft.Office.Interop.Excel;

namespace TestOffice
{
    class Program
    {
        static void Main(string[] args)
        {
            Application excel = new Application();
            Workbook workbook = excel.Workbooks.Open(@"C:\tmp\test\test.xls");

            for (int i = 1; i <= workbook.Sheets.Count; ++i)
            {
                Worksheet sheet = workbook.Sheets[i];

                Range firstCell = sheet.UsedRange[1, 1];

                object[,] data = sheet.UsedRange.get_Value();

                if (data != null)
                {
                    for (int row = 1; row <= data.GetLength(0); ++row)
                    {
                        for (int column = 1; column <= data.GetLength(1); ++column)
                        {
                            if (data[row, column] != null)
                            {
                                Console.WriteLine("Found data in sheet {0} at row {1} and column {2} : {3}", sheet.Name, row + firstCell.Row - 1, column + firstCell.Column - 1, data[row, column]);
                            }
                        }
                    }
                }
            }

            Console.ReadLine();
        }
    }
}
(上面的代码可能不是正确...)

[ 本帖最后由 serious 于 2011-11-18 07:47 编辑 ]
2011-11-17 07:41
winners
Rank: 6Rank: 6
来 自:济南
等 级:侠之大者
威 望:1
帖 子:105
专家分:416
注 册:2009-3-20
得分:10 
先得到每个sheet的名称
2011-11-17 08:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-355405-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.050814 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved