当前位置:编程学习 > C#/ASP.NET >>

c#读取excel指定行以后的问题

用c#读取excel到dataset里面,前面5行需要省去,如何实现?
以下是代码:

 string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +
                     "Data Source=" + excelFile + ";" + "Extended Properties=Excel 8.0; HDR=YES; IMEX=1";
                OleDbConnection conn = new OleDbConnection(strConn);
                conn.Open();
                string strExcel = "";
                OleDbDataAdapter myCommand = null;
                strExcel = string.Format("select * from [{0}$]", sheetName);
                myCommand = new OleDbDataAdapter(strExcel, strConn);
                myCommand.Fill(ds, sheetName); --------------------编程问答-------------------- select * from [{0}$],excel中如果有id之类的,可以用select * from tt where tt.id not in (select top 5 id from tt);// --------------------编程问答-------------------- sorry,你可以取出datatable后,在datatable中操作。 --------------------编程问答--------------------
引用 2 楼 guwei4037 的回复:
sorry,你可以取出datatable后,在datatable中操作。


删除语句怎样写? --------------------编程问答-------------------- 看看可以不


 for (int i = 0; i < 5; i++)
            {
                ds.Tables[sheetName].Rows.RemoveAt(i);
            }
ds.Tables[sheetName].AcceptChanges();
--------------------编程问答-------------------- "select * from [{0}$] where id >5 --------------------编程问答-------------------- 如果用4楼的方法,注意每次应该删除第一行的值。
 for (int i = 0; i < 5; i++)
            {
                dt.Rows.RemoveAt(0);
            } --------------------编程问答-------------------- 现在关键是前5行数据格式是完全不同的,没办法导入到dataset中,所以必须在读取excel时就要跳过前5行,
怎么才能实现? --------------------编程问答-------------------- 看看http://www.codeproject.com/Articles/37055/Working-with-MS-Excel-xls-xlsx-Using-MDAC-and-Oled

一般这种需要忽略前面多少行的,.csv应该会更方便些吧。 --------------------编程问答-------------------- 有两个问题,请高手指教:
1、excel前5行是标题等内容,格式与要读取的数据格式不同,如何跳过前5行,读取到正式数据内容?
2、excel中正式数据内容第一列的内容,是有很多单元格合并的,后面各行共用一格,这样的如何读取?

哪位有实例可以参考?谢谢 --------------------编程问答-------------------- ExcelHelper参考 http://blog.csdn.net/rui_china/article/details/10405069

  System.Windows.Forms.OpenFileDialog openFileDialog = new System.Windows.Forms.OpenFileDialog();
            openFileDialog.Filter = "*.xls;*.xlsx|*.xls;*.xlsx";
            if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                string filepath = openFileDialog.FileName;
                ShowExcelFile showExcelFile = new ShowExcelFile(filepath);
                showExcelFile.Owner = this;
                showExcelFile.ShowDialog();
                if (showExcelFile.isSave)
                {
                    DataTable dt = new ExcelHelper().ReadExcelFile(filepath);
                    for (int i = 0; i < dt.Rows.Count; i++)//设置起始行
                    {
                       
                    }
                    Materiallist = list;
                    try
                    {
                       
                    }
                    catch
                    {
                    
                    }
                } --------------------编程问答--------------------
引用 9 楼 howema 的回复:
有两个问题,请高手指教:
1、excel前5行是标题等内容,格式与要读取的数据格式不同,如何跳过前5行,读取到正式数据内容?
2、excel中正式数据内容第一列的内容,是有很多单元格合并的,后面各行共用一格,这样的如何读取?

哪位有实例可以参考?谢谢

看了你的需求,我觉得使用office组件直接操作excel比较好。 --------------------编程问答-------------------- 跳过5行的问题已经解决,
对于第一列有合并单元格的情况,怎么把合并的单元格的内容加到ds中的每一行中? --------------------编程问答-------------------- 继续求助...
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,