C# 4.0 使用C#.net和Microsoft Excel互操作动态创建Excel文件?
我正在创建Excel,如下所示:C# 4.0 使用C#.net和Microsoft Excel互操作动态创建Excel文件?,c#-4.0,excel-2007,C# 4.0,Excel 2007,我正在创建Excel,如下所示: 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
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);
}
}
}
谁能告诉我哪里出了问题?
注意:我遵循以下内容:
请给我任何好的链接/解决方案。我使用的是Windows7 64位操作系统
谢谢。更改此声明:
private Excel.Application app = null;
private Excel.Application worksheet = null;
private Excel.Application workbook = null;
private Excel.Application worksheet_range = null;
致:
private Excel.Application app = null;
private Excel.Worksheet worksheet = null;
private Excel.Workbook workbook = null;
private Excel.Range worksheet_range = null;
您也可以完全按照以下代码操作:
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");
编辑
您可以使用以下代码保存工作簿:
workbook.SaveAs(@"C:\XMLCopy.xls",
Excel.XlFileFormat.xlXMLSpreadsheet, missing, missing,
false, false, Excel.XlSaveAsAccessMode.xlNoChange,
missing, missing, missing, missing, missing);
但请在工作簿保存后查找资源释放方法。您需要关闭文件、应用程序和所有涉及的对象。您在哪里声明变量
工作簿
以及声明为什么类型?我现在更新了我的问题。谢谢。谢谢!现在,没有错误,我可以继续。我希望通过这个我可以动态创建Excel?我不想让它可见,而是要动态地将它保存在磁盘驱动器中的特定位置。我如何才能做到这一点?另外,下次我要创建它时,应用程序应该检查文件是否存在。这些都是简单的任务,你可以通过一点MSDN和谷歌搜索来实现。要隐藏你的应用,只需设置app.Visible=false。对于其他任务,请检查链接