首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用C#.net和Microsoft Excel Interop动态创建Excel文件?

使用C#.net和Microsoft Excel Interop动态创建Excel文件?
EN

Stack Overflow用户
提问于 2013-05-27 18:59:23
回答 1查看 13.1K关注 0票数 2

我创建的Excel如下所示:

代码语言:javascript
运行
复制
     class Program
{
    private Excel.Application app = null;
    private Excel.Application worksheet = null;
    private Excel.Application workbook = null;
    private Excel.Application worksheet_range = null;

    //public Program()
    //{
    //    CreateExcelDoc();
    //}
    static void Main(string[] args)
    {
        Program obj = new Program();
        obj.CreateExcelDoc();
    }

    public void CreateExcelDoc()
    {
        try
        {
            app = new Excel.Application();
            if (app == null)
                return;
            app.Visible = true;
            workbook = app.Workbooks.Add(1);////error in this,saying "can not convert from Excel.Workbook to Excel.Application"

        }
        catch (Exception ex)
        {
            throw new Exception("CreateExcelDoc: Error" + ex.Message);
        }

    }
}

有没有人能告诉我哪里出错了?注意:我正在关注这个:http://msdn.microsoft.com/en-us/library/ms173186%28v=vs.80%29.aspx

请给我任何好的链接/解决方案。我使用的是Windows 7 64位操作系统。

谢谢。

EN

Stack Overflow用户

回答已采纳

发布于 2013-05-27 19:32:51

更改此声明:

代码语言:javascript
运行
复制
    private Excel.Application app = null;
    private Excel.Application worksheet = null;
    private Excel.Application workbook = null;
    private Excel.Application worksheet_range = null;

至:

代码语言:javascript
运行
复制
    private Excel.Application app = null;
    private Excel.Worksheet worksheet = null;
    private Excel.Workbook workbook = null;
    private Excel.Range worksheet_range = null;

您也可以完全遵循以下代码:

代码语言:javascript
运行
复制
    app.Visible = true; // or false if you don't want to show app.
    workbook  = app.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
    worksheet = (Worksheet)workbook.Worksheets[1];

    // Select the Excel cells, in the range c1 to c7 in the worksheet.
    worksheet_range  = worksheet.get_Range("C1", "C7");

编辑

您可以使用以下代码保存工作簿:

代码语言:javascript
运行
复制
    workbook.SaveAs(@"C:\XMLCopy.xls",
    Excel.XlFileFormat.xlXMLSpreadsheet, missing, missing,
    false, false, Excel.XlSaveAsAccessMode.xlNoChange,
    missing, missing, missing, missing, missing);

但在保存工作簿后,请寻找资源释放方法。你需要关闭你的文件,你的应用程序和所有涉及的对象。

票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16771681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档