江湖救急!关于Excel导入的问题
我装的是office2003,但我想导入excel object library9.0 (我有excel9.olb)
请问有什么好方法
[解决办法]
给你个后期对Office绑定的例子参考下吧:
private void btnLater_Click(object sender, EventArgs e)
{
object objApp;
object objBook;
object objBooks;
object objSheets;
object objSheet;
object objRange;
object[] Parameters;
try
{
// Get the class type and instantiate Excel.
Type objClassType;
objClassType = Type.GetTypeFromProgID( "Excel.Application ");
objApp = Activator.CreateInstance(objClassType);
//Get the workbooks collection.
objBooks = objApp.GetType().InvokeMember( "Workbooks ",
BindingFlags.GetProperty, null, objApp, null);
//Add a new workbook.
objBook = objBooks.GetType().InvokeMember( "Add ",
BindingFlags.InvokeMethod, null, objBooks, null);
//Get the worksheets collection.
objSheets = objBook.GetType().InvokeMember( "Worksheets ",
BindingFlags.GetProperty, null, objBook, null);
//Get the first worksheet.
Parameters = new Object[1];
Parameters[0] = 1;
objSheet = objSheets.GetType().InvokeMember( "Item ",
BindingFlags.GetProperty, null, objSheets, Parameters);
//Get a range object that contains cell A1.
Parameters = new Object[2];
Parameters[0] = "A1 ";
Parameters[1] = Missing.Value;
objRange = objSheet.GetType().InvokeMember( "Range ",
BindingFlags.GetProperty, null, objSheet, Parameters);
//Write "Hello, World! " in cell A1.
Parameters = new Object[1];
Parameters[0] = "Hello, World! ";
objRange.GetType().InvokeMember( "Value ", BindingFlags.SetProperty,
null, objRange, Parameters);
//Return control of Excel to the user.
Parameters = new Object[1];
Parameters[0] = true;
objApp.GetType().InvokeMember( "Visible ", BindingFlags.SetProperty,
null, objApp, Parameters);
objApp.GetType().InvokeMember( "UserControl ", BindingFlags.SetProperty,
null, objApp, Parameters);
}
catch (Exception theException)
{
String errorMessage;
errorMessage = "Error: ";
errorMessage = String.Concat(errorMessage, theException.Message);
errorMessage = String.Concat(errorMessage, " Line: ");
errorMessage = String.Concat(errorMessage, theException.Source);
MessageBox.Show(errorMessage, "Error ");
}
}