1. 程式人生 > >Excel 追加資料

Excel 追加資料

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        private int line;
        public Form1()
        {
            InitializeComponent();
            line = 1;
        }
        public void InertEXCEL(String filePath,String [] info)
        {
            String[] head = { "Name", "Age", "Grade" };   //表頭
            Excel.Application myExcel;
            Excel.Workbook myWorkBook;
            Excel.Application m_objExcel;
            Excel.Workbooks m_objBooks;
            Excel.Workbook m_objBook;
            Excel.Sheets m_objSheets;
            Excel._Worksheet m_objSheet;
            int col=0;
            if (File.Exists(filePath))  //表已經存在
            {
                myExcel = new Excel.Application();
                m_objExcel = new Excel.Application();
                m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks;
                m_objBooks.Open(filePath, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
                m_objBook = m_objBooks.get_Item(1);
                m_objSheets = (Excel.Sheets)m_objBook.Worksheets;
                m_objSheet = (Excel._Worksheet)(m_objSheets.get_Item(1));
                col=m_objSheet.UsedRange.CurrentRegion.Rows.Count;
                System.Console.WriteLine("{0}  {1} ", line,col );
                if (col == 1)
                    col = 2;
                for (int i = 0; i < 3;i++ )
                    m_objSheet.Cells[col + 1, i+1] = info[i];
                m_objBook.Save();
            }
            else  //表不存在,建立新表
            {
                myExcel = new Excel.Application();
                myExcel.Application.Workbooks.Add(true);
                m_objExcel = new Excel.Application();
                m_objBook = (Excel.Workbook)myExcel.ActiveWorkbook;
                m_objSheet = (Excel.Worksheet)m_objBook.ActiveSheet;
                for (int k = 0; k < head.Length; k++)
                    m_objSheet.Cells[1, k + 1] = head[k];
                for (int i = 0; i < 3; i++)
                    m_objSheet.Cells[2, i + 1] = info[i];
                m_objBook.SaveAs(filePath);
            }
            m_objBook.Close(false);
            myExcel.Quit();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            String sFile1 = "D:\\123\\te1st.xlsx";
            String[] a = {"aa","bb","cc"};
            InertEXCEL(sFile1, a);
        }
    }
}