C# 使用Excel完整实例

本人电脑环境:Window7 32位、Visual Studio Enterprise 2015、Microsoft Office2010

 

步骤一:在项目中添加引用

1、在[计算机] 中搜索Microsoft.Office.Interop.Excel.dll文件 >> 把该文件拷贝到代码目录。

2、Visual Studio Enterprise 2015 >> [解决方案资源管理器] >> 鼠标右键 [引用]  >> 选择[添加引用] >> 进入[浏览]项 >> 点击[浏览]按钮,选择你前面复制的Microsoft.Office.Interop.Excel.dll文件 >> 点[确定]。

 

 

遇到的问题:

a、错误提示:命名空间“Microsoft”中不存在类型或命名空间名“Office”(是否缺少程序集引用?)

      解决方式: [引用管理器]中的[COM] >> 添加[类型库]下的“Microsoft Office 14.0 Object Library”。

 

b、错误提示:命名空间“Microsoft.Office”中不存在类型或命名空间名称“Interop”(是否缺少程序集引用?

      解决方式:根据网上说的

                        (方法1)步骤:添加 [引用管理器]中的[COM]->[类型库]下的“Microsoft Office 14.0 Object Library”。

                                           结果:报一样的错。

                        (方法2)步骤:在 [引用管理器]中的[程序集]->[扩展]下勾选Microsoft.Office.Interop.Excel

                                          结果:在[扩展]下没有看到有这项。

                        (方法3)步骤:在[计算机]中搜索Microsoft.Office.Interop.Excel.dll文件->把该文件拷贝到代码目录->

                                                      [引用管理器]->进入[浏览]项->点击[浏览]按钮,选择你前面复制的Microsoft.Office.Interop.Excel.dll文件。

                                          结果:成功解决该问题。

 

步骤二:简单代码实例

using Excel = Microsoft.Office.Interop.Excel;           //引用命名空间并起别名:Excel

/// <summary>
/// 写入指定内容到excel的指定位置
/// </summary>
/// <param name="FilePath">Excel文件的路径</param>
/// <param name="content">要写入的内容</param>
/// <param name="RowsNum">起始行</param>
/// <param name="ColsNum">起始列</param>
/// <returns></returns>

public void WriteExl(string FilePath, string[] content, int RowsNum, int ColsNum)
{
    //创建Application对象
    Excel.Application mApp = new Excel.Application();

    //获得workbook对象,打开已有文件
    Excel.Workbook mBook = mApp.Workbooks.Open(FilePath);

    //创建Sheet对象
    Excel.Worksheet mSheet = (Excel.Worksheet)mBook.Sheets[1];

    //创建行对象
    Excel.Range mRow = (Excel.Range)mSheet.Rows[RowsNum + 1];

    //插入空的新行 //为了新写入的数据永远在第一行
    mRow.Insert();

    //写入数据
    int v = 0;
    for (int i = ColsNum; i < (content.Length + ColsNum); i++)
    {
        mSheet.Cells[RowsNum + 1, i] = content[v];
        v++;
    }


    //保存文档
    mBook.Save();

    //释放内存
    mSheet = null;
    mBook.Close();
    mBook = null;
    mApp.DisplayAlerts = false;
    mApp.Quit(); //结束进程
    mApp = null;
}



/// <summary>
/// 调用WriteExl函数
/// </summary>
void test()
{
    string[] mTestRlt = new string[3]; //要写入的内容
    mTestRlt[0] = "A";
    mTestRlt[1] = "B";
    mTestRlt[2] = "C";
    WriteExl("C://TestResult.xlsx", mTestRlt, 0, 0); //从第1行、第1列开始写入 A B C
}

效果:

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值