C# 打开Excel文件方法

一、C#怎样打开Excel文件

1.右键–Add DevExpress Item – New Item,新建一个Form窗体

2.打开工具箱,搜索spreadsheetControl

3.将工具spreadsheetControl拖入新建的窗体中

4.可添加打开,保存,打印等按钮,我是随窗体打开一起打开excel,所以没有添加按钮,主要代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using System.IO;
using DevExpress.Spreadsheet;

namespace rdms.Forms
{
public partial class frmARFCN : Form
{
    private static log4net.ILog LOG = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
    //记录窗体的名称
    readonly string mainFormText;

    public frmARFCN()
    {
        InitializeComponent();

        //记录窗体的名称,并实现文档变化事件的处理,方便显示新的文件名称
        mainFormText = this.Text;
        this.spreadsheetControl1.DocumentLoaded += new EventHandler(spreadsheetControl1_DocumentLoaded);
        openFile();
    }

    /// <summary>
    /// 文档变化后,实现对新文件名称的显示
    /// </summary>
    void spreadsheetControl1_DocumentLoaded(object sender, EventArgs e)
    {
        string fileName = Path.GetFileName(this.spreadsheetControl1.Document.Path);
        if (String.IsNullOrEmpty(fileName))
        {
            Text = mainFormText;
        }
        else
        {
            Text = fileName + " - " + mainFormText;
        }
    }

    /// <summary>
    /// 打开Excel文件
    /// </summary>
    private void openFile()
    {
        string path = Application.StartupPath;
        LOG.Info("path==="+path);
        string filePath = path + "\\Data\\about.xls";
        if (!string.IsNullOrEmpty(filePath))
        {
            IWorkbook workbook = spreadsheetControl1.Document;
            workbook.LoadDocument(filePath);
        }
    }

    /// <summary>
    /// 保存Excel文件
    /// </summary>
    private void btnSaveFile_Click(object sender, EventArgs e)
    {
        spreadsheetControl1.SaveDocument();
    }

    /// <summary>
    /// Excel文件打印
    /// </summary>
    private void btnPreview_Click(object sender, EventArgs e)
    {
        this.spreadsheetControl1.ShowPrintPreview();
    }
}
}

5.点击某个按钮弹出frmARFCN的form窗体

 private void btn_Click(object sender, EventArgs e)
{        
    using (frmARFCN frm = new frmARFCN())
    {
        DialogResult ret = frm.ShowDialog(this);
    }       
}

6.显示效果如下

更多博客内容详见我的博客 Wang's Blog

猜你喜欢

转载自blog.csdn.net/abcwanglinyong/article/details/79986104