永发信息网

C# winform 中如何导入Excel

答案:2  悬赏:70  手机版
解决时间 2021-08-11 23:02
C# winform 中如何导入Excel
最佳答案

你是要从excel中导入数据到winform吗?如果是这样,可以这样:


引用office11.0组件后,


 Microsoft.Office.Interop.Excel.Application application; //这是一个客户端
    Microsoft.Office.Interop.Excel.Workbooks workbooks; //所有工作薄
    Microsoft.Office.Interop.Excel.Worksheet worksheet;//工作表
    Microsoft.Office.Interop.Excel.Workbook workbook; //所用到的工作表


    void IsRunEX()


{  


    OpenFileDialog openfilediaglog = new OpenFileDialog();
    openfilediaglog.Filter = "xls文件|*.xls";
    if (openfilediaglog.ShowDialog() == DialogResult.OK)
    {
    FieldName = openfilediaglog.FileName;
    application = new Microsoft.Office.Interop.Excel.Application();
    workbooks = application.Workbooks;
    workbook = returnworkbook(FieldName, workbooks);
    worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Sheets[1];  //选择第一个表
    Range range = worksheet.Cells[1, 8] as Range; //这是选择第一行第八列的内容
    Range rangee = worksheet.Cells[1, 9] as Range; //这是第一行到九列的内容


    string str1=range.Value2.ToString();


    string str2=ragee.Value2.ToString();


    ...................  //你所要做的操作


    ..................


    workbook.Close(Type.Missing, FieldName, Type.Missing);
    workbooks.Close();    //退出关闭资源
    application.Quit();


    }
}


 private Workbook returnworkbook(string filename,Workbooks works)  //这里是打一开一个工作表
    {
    Microsoft.Office.Interop.Excel.Workbook wk=works.Open(
    filename, Type.Missing, Type.Missing,
    Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
    Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
    Type.Missing, Type.Missing);
    return wk;
    }

全部回答

准确说是把DataTable导出Excel:通用算法:

public static void ExportExcel(DataTable eDataTable)      {     try     {     Excel.ApplicationClass ExcelApp;     ExcelApp = new Excel.ApplicationClass();     Excel.Workbook ExcelBook = ExcelApp.Workbooks.Add(1);     Excel.Worksheet ExcelSheet = (Excel.Worksheet)ExcelBook.Worksheets[1];     ExcelApp.Visible = true;     //写列标题     for (int i = 0; i < eDataTable.Columns.Count; i++)     {     ExcelSheet.Cells[1, i + 1] = eDataTable.Columns[i].ColumnName;     }     //写值     for (int r = 0; r < eDataTable.Rows.Count; r++)     {     for (int i = 0; i < eDataTable.Columns.Count; i++)     {     ExcelSheet.Cells[r + 2, i + 1] = eDataTable.Rows[r][i];     }     }     }     catch (Exception ex)     {     ErrLog.ExcelErr(ex.ToString());     }     finally     {     GC.Collect();     }     }

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
QQ飞车客户端在那里啊
为什么我的问问积分会负?
幻世录2 1.01下载的下载地址
最近有什么VS DOTA新成立的战队?适合菜鸟加
深圳市内哪里较好的有初级计算机培训中心,并
求这张照片的出处和背景故事
电脑出故障 继续解决!
猜谜 :有钱不买金生丽(一字)
我经常不想吃饭为什么,有办法提高食量吗
1973农历4月初4是什么星座?
重庆有哪些专业的咖啡师和调酒师培训机构啊
道里区哈尔滨龙江银行(迎宾支行)地址有谁知道
为什么勾上正在收听的音乐还不显示
求教养生高人,哪些食品是必备的养生佳品?
求一首歌曲 歌名是七月的季节
推荐资讯
怎么老睡不着么样才能改善
大一新生军训时背什么行李包比较方便
王昭君为何嫁给新的汗王?这里面有故事吗?
青岛健身房哪家比较好~
关于自己网站建设的问题,高手请进,混分勿扰
我女儿便便拉绿色可以吃益生菌吗?
大蛇丸vs三代时招出来的第三具棺材里是谁?四
做一个门户网站一般多少钱,要多久
为什么我的QQ自由幻想登陆不上去
怎样才能使白头发变黑?
14615+615
PS CS5如何提取高光
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?