C# 读写Excel

using System.Reflection;
using Excel=Microsoft.Office.Interop; 

 

 

protected void Button1_Click(object sender, EventArgs e)
    {
        string rootPath = Server.MapPath("//");
        string lastPath = "ExportExcel//CData.xls";
        string templatePath = "JiaBanDaoXiu.xlt";
        Excel.Excel.XlFileFormat version = Excel.Excel.XlFileFormat.xlExcel8;//Excel 2003版本
        //if (System.IO.Path.GetExtension(fileName).ToLower() == ".xlsx") version = Excel.Excel.XlFileFormat.xlOpenXMLWorkbook;//Excel 2007版本
        try
        {
            //创建Application对象
            Excel.Excel.Application xApp = new Excel.Excel.Application();

            xApp.Visible = true;
            //得到WorkBook对象, 可以用两种方式之一: 下面的是打开已有的文件
            if (File.Exists(rootPath + templatePath))
            {
                Label1.Text = "找到模板";
            }
            else
            {
                Label1.Text = "找不到模板文件!";
            }

            Excel.Excel.Workbook xBook = xApp.Workbooks._Open(rootPath + templatePath,
                Missing.Value, Missing.Value, Missing.Value, Missing.Value,
                Missing.Value, Missing.Value, Missing.Value, Missing.Value,
                Missing.Value, Missing.Value, Missing.Value, Missing.Value);

            //指定要操作的Sheet,两种方式:
            Excel.Excel.Worksheet xSheet = (Excel.Excel.Worksheet)xBook.Sheets[1];
            //写入数据

            Excel.Excel.Range rng3 = xSheet.get_Range("C6", Missing.Value);
            rng3.Value2 = "Test";
            rng3.Interior.ColorIndex = 6; //设置Range的背景色

            // 保存方式二:保存WorkSheet
            if (File.Exists(rootPath + lastPath))
                File.Delete(rootPath + lastPath);
            xSheet.SaveAs(rootPath + lastPath,
            version , Missing.Value, Missing.Value, Missing.Value,
            Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
            //string fileName =FilePath+"CData2.xls";
            //Excel.XlFileFormat version = Excel.XlFileFormat.xlExcel8;//Excel 2003版本
            //if (System.IO.Path.GetExtension(fileName).ToLower() == ".xlsx") version = Excel.XlFileFormat.xlOpenXMLWorkbook;//Excel 2007版本
            //xSheet.SaveAs(fileName, version, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
            rng3 = null;
            xSheet = null;
            xBook = null;
           
            xApp.Workbooks.Close();
            xApp.Quit(); //这一句是非常重要的,否则Excel对象不能从内存中退出
            xApp = null;
           
            //this.Load += new System.EventHandler(this.Page_Load);
        }
        catch (System.Exception ex)
        {
            Label1.Text = "ERROR";
            Response.Write(ex.Message + "ERROR1");
        }
               
        
    }
  ===========================================================================================

将Excel操作总结如下:

//创建Application对象

        Excel.Excel.XlFileFormat version = Excel.Excel.XlFileFormat.xlExcel8;//Excel 2003版本
        //if (System.IO.Path.GetExtension(fileName).ToLower() == ".xlsx") version = Excel.Excel.XlFileFormat.xlOpenXMLWorkbook;//Excel 2007版本

        Excel.Excel.Application xApp = new Excel.Excel.Application();
        xApp.Visible = true;

        //得到WorkBook对象, 可以用两种方式之一: 下面的是打开已有的文件

        Excel.Excel.Workbook xBook = xApp.Workbooks._Open("D://JiaBanDaoXiu.xlt",
            Missing.Value, Missing.Value, Missing.Value, Missing.Value,
            Missing.Value, Missing.Value, Missing.Value, Missing.Value,
            Missing.Value, Missing.Value, Missing.Value, Missing.Value);
        //xBook=xApp.Workbooks.Add(Missing.Value);//新建文件的代码


        //指定要操作的Sheet,两种方式:
        Excel.Excel.Worksheet xSheet = (Excel.Excel.Worksheet)xBook.Sheets[1];
        //Excel.Excel.Worksheet xSheet=(Excel.Worksheet)xApp.ActiveSheet;

        读取数据,通过Range对象
        //Excel.Range rng1 = xSheet.get_Range("A1", Type.Missing);
        //Console.WriteLine(rng1.Value2);

        读取,通过Range对象,但使用不同的接口得到Range
        //Excel.Range rng2 = (Excel.Range)xSheet.Cells[3, 1];
        //Console.WriteLine(rng2.Value2);

        //写入数据
        Excel.Excel.Range rng3 = xSheet.get_Range("C6", Missing.Value);
        rng3.Value2 = Label1.Text;
        rng3.Interior.ColorIndex = 6; //设置Range的背景色

        //保存方式一:保存WorkBook
        if (File.Exists("D://CData.xls"))
            File.Delete("D://CData.xls");
        xBook.SaveAs(@"D:/CData.xls",Missing.Value , Missing.Value, Missing.Value, Missing.Value, Missing.Value,
        Excel.Excel.XlSaveAsAccessMode.xlShared, Missing.Value, Missing.Value, Missing.Value,
        Missing.Value, Missing.Value);

        保存方式二:保存WorkSheet
        //xSheet.SaveAs(@"D:/CData12.xls",
        //Missing.Value, Missing.Value, Missing.Value, Missing.Value,
        //Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);

        保存方式三
        xBook.Save();
        xSheet = null;
        xBook = null;
        xApp.Quit(); //这一句是非常重要的,否则Excel对象不能从内存中退出
        xApp = null;
           
   

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值