zoukankan      html  css  js  c++  java
  • Visual Studio 2005 C# 读写Excel文件

    做作业的时候查了一点儿资料,
    用的vs2k5 读 excel 2007
    发现用起来非常简单。。。现在编程语言没话说!

    1
    项目-添加引用-COM-Microsoft Excel 12.0 Object Library
    && -Microsoft Office 12.0 Object Library

    2
    using Microsoft.Office.Core;
    using Microsoft.Office.Interop.Excel;
    using System.IO;
    using System.Reflection;

    3
                string originalFile = System.Windows.Forms.Application.StartupPath + @".\a.xlsx";
                string outputFile;
                SaveFileDialog save = new SaveFileDialog();
                save.InitialDirectory = "D:\\";
                save.Filter = "Excel files (*.xlsx)|*.xlsx|All files (*.*)|*.*";
                save.FilterIndex = 1;
                save.RestoreDirectory = true;
                if (save.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        outputFile = save.FileName;
                        System.IO.File.Copy(originalFile, outputFile, true);
                        ExcelRS = new Microsoft.Office.Interop.Excel.ApplicationClass();
                        //打开目标文件outputFile
                        RSbook = ExcelRS.Workbooks.Open(outputFile, missing, missing, missing, missing, missing,
                            missing, missing, missing, missing, missing, missing, missing, missing, missing);
                        //设置第一个工作溥
                        RSsheet = (Microsoft.Office.Interop.Excel.Worksheet)RSbook.Sheets.get_Item(1);
                        //激活当前工作溥
                        RSsheet.Activate();
                        RSsheet.Cells[1, 1] = dataGridView1.SelectedRows.Count;
                        for (int i = 0; i < dataGridView1.SelectedRows.Count; ++i)
                        {
                            for (int j = 0; j < 11; ++j)
                            {
                                RSsheet.Cells[i + 2, j + 1] = dataGridView1.Rows[dataGridView1.SelectedRows[i].Index].Cells[j].Value.ToString().Trim();
                                // RSsheet.Cells
                                RSsheet.get_Range(RSsheet.Cells[i + 2, j + 1], RSsheet.Cells[i + 2, j + 1]).EntireColumn.ColumnWidth = 40;
                                //RSsheet.get_Range(RSsheet.Cells[i + 2, j + 1], missing).auto
                            }
                        }
                        RSbook.Save();
                        ExcelRS.DisplayAlerts = true;
                        ExcelRS.Visible = true;
                    }
                    catch (System.Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    finally
                    {
                        ExcelRS.Quit();
                    }
                }



    4
                OpenFileDialog open = new OpenFileDialog();
                open.InitialDirectory = @"D:\";
                open.Filter = "Excel files (*.xlsx)|*.xlsx|All files (*.*)|*.*";
                open.FilterIndex = 1;
                open.RestoreDirectory = true;

                if (open.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        ExcelRS = new Microsoft.Office.Interop.Excel.ApplicationClass();
                        RSbook = ExcelRS.Workbooks.Open(open.FileName, missing, missing, missing, missing, missing,
                            missing, missing, missing, missing, missing, missing, missing, missing, missing);
                        RSsheet = (Microsoft.Office.Interop.Excel.Worksheet)RSbook.Sheets.get_Item(1);
                        RSsheet.Activate();
                        Microsoft.Office.Interop.Excel.Range range = RSsheet.get_Range("A" + i, Type.Missing);
                        counts = int.Parse(range.Text.ToString().Trim());
                    }
                    catch (System.Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    finally
                    {
                        ExcelRS.Quit();
                        conn.Close();
                    }
                }
  • 相关阅读:
    jQuery 在 IE 上 clone checkbox 的問題。
    C/C++ typedef用法
    C++继承
    map常用操作
    C++ JsonCpp 使用(含源码下载)
    string常用操作
    C++虚函数
    STL容器迭代过程中删除元素技巧(转)
    关于IE下用HTTPS无法下载/打开文件(转)
    C++STL概览
  • 原文地址:https://www.cnblogs.com/bluewelkin/p/1275642.html
Copyright © 2011-2022 走看看