我很难搞清楚这一点。我想在按钮点击事件上打开一个filedialog
窗口,用户将在该窗口中选择一个excel文件,该文件将在excel中打开。
我已经创建了filebox
,我可以让excel打开一个新文件,但我无法弄清楚如何让两者进行网格化。
我想要使用的内容如下,
using Excel = Microsoft.Office.Interop.Excel;
using System.Reflection;
private void button1_Click(object sender, EventArgs e)
{
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
System.IO.StreamReader sr = new
System.IO.StreamReader(openFileDialog1.FileName);
MessageBox.Show(sr.ReadToEnd());
sr.Close();
}
}
}
我打算用它打开excel
Excel.Application excel = new Excel.Application();
Excel.Workbook wb = excel.Workbooks.Open(filename);
答案 0 :(得分:4)
只需将文件名从打开的文件对话框传递到Excel应用程序。
using Excel = Microsoft.Office.Interop.Excel;
using System.Reflection;
private void button1_Click(object sender, EventArgs e)
{
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
Excel.Application excel = new Excel.Application();
Excel.Workbook wb = excel.Workbooks.Open(openFileDialog1.FileName);
答案 1 :(得分:4)
您应该将excel和wb声明为表单的字段。像
这样的东西partial class MyForm : Form
{
private Excel.Application _excel;
private Excel.Workbook _wb;
// and so on
}
然后你应该替换
System.IO.StreamReader sr = new System.IO.StreamReader(openFileDialog1.FileName);
MessageBox.Show(sr.ReadToEnd());
sr.Close();
与
_excel = new Excel.Application();
_wb = _excel.Workbooks.Open(openFileDialog1.FileName);