Excel.Application myExcel=new Excel.Application();
Excel._Workbook myWorkBook =(Excel._Workbook)myExcel.Workbooks.Add(Missing.Value);//新建一个WorkBook;
Excel._Worksheet mySheet = (Excel._Worksheet)myWorkBook.ActiveSheet;
如上这样定义在函数中(比如Button1的点击函数中)可以,但是要是全局性的(放在下面的位置)就不可以了,会提示错误 字段初始值设定项无法引用非静态字段、方法或属性
public partial class Window1 : Window
{
Excel.Application myExcel=new Excel.Application();
Excel._Workbook myWorkBook =(Excel._Workbook)myExcel.Workbooks.Add(Missing.Value);//新建一个WorkBook;
Excel._Worksheet mySheet = (Excel._Worksheet)myWorkBook.ActiveSheet;
//Excel.Range myRang;
string Excel_str = string.Empty;//写入Excel文件数据 public Window1()
{
InitializeComponent();
}
.......//下面就是一些函数和控件按钮的实现函数,比如Button1的点击函数
private void button1_Click(object sender, RoutedEventArgs e)
{
try
{
..........
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
..........//其他按钮函数
}
问题是我要用这个全局的Excel对象去将数据写入,而且是WPF的的异步中用到的,就是在按钮的Dispatcher.BeginInvoke中用到,所以只能全局定义了,大家看看有什么办法能定义这个全局的Excel对象。
我根据错误在定义的前面加static就是Excel.Application myExcel=new Excel.Application();
Excel._Workbook myWorkBook =(Excel._Workbook)myExcel.Workbooks.Add(Missing.Value);这两句前面加static使其成为静态,但是第一次运行会正确存贮数据到Excel,第二次就会出错,我想可能是因为我那个对象已经存在的缘故,但是 如果在程序的后面将其清理掉,第二次运行会提示没有RPC对象
Excel._Workbook myWorkBook =(Excel._Workbook)myExcel.Workbooks.Add(Missing.Value);//新建一个WorkBook;
Excel._Worksheet mySheet = (Excel._Worksheet)myWorkBook.ActiveSheet;
如上这样定义在函数中(比如Button1的点击函数中)可以,但是要是全局性的(放在下面的位置)就不可以了,会提示错误 字段初始值设定项无法引用非静态字段、方法或属性
public partial class Window1 : Window
{
Excel.Application myExcel=new Excel.Application();
Excel._Workbook myWorkBook =(Excel._Workbook)myExcel.Workbooks.Add(Missing.Value);//新建一个WorkBook;
Excel._Worksheet mySheet = (Excel._Worksheet)myWorkBook.ActiveSheet;
//Excel.Range myRang;
string Excel_str = string.Empty;//写入Excel文件数据 public Window1()
{
InitializeComponent();
}
.......//下面就是一些函数和控件按钮的实现函数,比如Button1的点击函数
private void button1_Click(object sender, RoutedEventArgs e)
{
try
{
..........
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
..........//其他按钮函数
}
问题是我要用这个全局的Excel对象去将数据写入,而且是WPF的的异步中用到的,就是在按钮的Dispatcher.BeginInvoke中用到,所以只能全局定义了,大家看看有什么办法能定义这个全局的Excel对象。
我根据错误在定义的前面加static就是Excel.Application myExcel=new Excel.Application();
Excel._Workbook myWorkBook =(Excel._Workbook)myExcel.Workbooks.Add(Missing.Value);这两句前面加static使其成为静态,但是第一次运行会正确存贮数据到Excel,第二次就会出错,我想可能是因为我那个对象已经存在的缘故,但是 如果在程序的后面将其清理掉,第二次运行会提示没有RPC对象
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货