最新WPS办公软件学习教程_免费企业办公软件下载_金山WPS Office官网论坛

 找回密码
 
查看: 3560|回复: 14

在C#中如何读取ET文件中的数据到DataTable中

[复制链接]

3

主题

0

听众

11

积分

LV.1

Rank: 1

该用户从未签到

金币
0
威望
9
帖子
6
精华
0
发表于 2009-7-8 13:35 |显示全部楼层
分享到: 新浪微博 腾讯微博
在C#中如何读取ET文件中的数据到DataTable中

6

主题

0

听众

303

积分

LV.4

Rank: 4

该用户从未签到

金币
0
威望
571
帖子
211
精华
0
发表于 2009-7-9 10:31 |显示全部楼层
第一种方法:通过ET的API来进行。
效果图:

示例代码:
private void btn_ShowData_Click(object sender, EventArgs e)
        {
            //对象的初始化
            Object missing = System.Reflection.Missing.Value;
            string path = Application.StartupPath;
            ET.Application etApp = new ET.Application();
            ET.workbook wbk = new ET.workbook();
            wbk = (ET.workbook)etApp.Workbooks.Open(path + "
\\Test.et",missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing);
            ET.Worksheet wst = (ET.Worksheet)wbk.Worksheets.get_Item(1);

            //获取数据区域
            ET.Range myRange = (ET.Range) wst.UsedRange;
            //获取ET中的行数与列数
            int rowsCount = myRange.Rows.Count;
            int colsCount = myRange.Columns.Count;
            //调用方法,将ET中的数据通过DataTable显示到DataGridView中
            dgv_ET.DataSource = getEtData(myRange, rowsCount, colsCount);
            //关掉文件
            wbk.Close(missing, missing, missing);
            //退出程序
            etApp.Quit();
        }
        private DataTable getEtData(ET.Range range,int rowsCount,int colsCount)
        {
            //创建一个DataTable对象
            DataTable dt = new DataTable("MyDataTable");
            DataRow row = null;
            //创建与数据源对应的数据列
            for (int j = 1; j <= colsCount; j++)
            {
                dt.Columns.Add(((ET.Range)range.get_Item(1, j)).Text, System.Type.GetType("System.String"));
            }

            //填入数据
            for (int i = 0; i < rowsCount; i++)
            {
                row = dt.NewRow();
                for (int j = 0; j < colsCount; j++)
                {
                    row[j] = ((ET.Range)range.get_Item(i+1, j+1)).Text;
                }
                dt.Rows.Add(row);
            }
            return dt;
        }


示例包下载


[ 本帖最后由 OA_Donny 于 2009-7-9 10:38 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,

永远都不要相信漂亮女人说的话,但不漂亮的听都不要听 ^_^
回复

使用道具 举报

6

主题

0

听众

303

积分

LV.4

Rank: 4

该用户从未签到

金币
0
威望
571
帖子
211
精华
0
发表于 2009-7-9 11:02 |显示全部楼层
还有两种方式,就是通过OLEDB还有文件流的,google一下就有,这里就不再写示例了。
永远都不要相信漂亮女人说的话,但不漂亮的听都不要听 ^_^
回复

使用道具 举报

0

主题

0

听众

3

积分

LV.1

Rank: 1

该用户从未签到

金币
0
威望
1
帖子
0
精华
0
发表于 2015-2-28 20:30 |显示全部楼层
OA_Donny 发表于 2009-7-9 10:31
第一种方法:通过ET的API来进行。
效果图:

好贴,duang!duang!duang!duang!duang!duang!
回复

使用道具 举报

0

主题

1

听众

1

积分

LV.1

Rank: 1

该用户从未签到

金币
2
威望
0
帖子
0
精华
0
发表于 2015-4-20 23:38 |显示全部楼层
谢谢,看看
回复

使用道具 举报

0

主题

1

听众

1

积分

LV.1

Rank: 1

该用户从未签到

金币
3
威望
0
帖子
0
精华
0
发表于 2015-4-28 10:46 |显示全部楼层
很好,下载了
回复

使用道具 举报

0

主题

1

听众

0

积分

LV.1

Rank: 1

该用户从未签到

金币
3
威望
-5
帖子
0
精华
0
发表于 2015-7-12 18:27 |显示全部楼层
很好,下载了
回复

使用道具 举报

0

主题

1

听众

0

积分

LV.1

Rank: 1

该用户从未签到

金币
3
威望
-5
帖子
0
精华
0
发表于 2015-8-25 16:58 |显示全部楼层
很好,下载了
回复

使用道具 举报

1

主题

0

听众

-2

积分

LV.0

该用户从未签到

金币
3
威望
-3
帖子
0
精华
0
发表于 2015-9-12 16:35 |显示全部楼层
很不错啊,支持支持,我现在也想研究这个
回复

使用道具 举报

1

主题

0

听众

2

积分

LV.1

Rank: 1

该用户从未签到

金币
3
威望
2
帖子
3
精华
0
发表于 2015-12-3 10:32 |显示全部楼层
下载不下来,请问怎么办????????????????
回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 更多账号登录:

快速回帖:

fastpost

WPS论坛更新日志|WPS Office官方论坛     

GMT+8, 2017-12-14 18:11

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部