using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
Microsoft.Office.Core;
using
Excel=Microsoft.Office.Interop.Excel;
using
System.Windows.Forms;
using
System.Reflection;
namespace
Excelproject
{
public
partial
class
ExcelForm : Form
{
private
ExcelOperate eo;
private
string
excelpath;
private
Excel.Application excel1;
private
Excel.Workbooks wbs =
null
;
private
Excel.Workbook wb =
null
;
private
Excel.Sheets wss;
private
Excel.Worksheet ws =
null
;
private
Excel.Range range1 =
null
;
public
ExcelForm()
{
InitializeComponent();
this
.excel1 =
new
Excel.Application();
if
(excel1 ==
null
)
{
MessageBox.Show(
"error"
);
System.Windows.Forms.Application.Exit();
}
excel1.Visible =
true
;
}
#region excel文件打开关闭操作
private
void
打开_Click(
object
sender, EventArgs e)
{
openFileDialog1 =
new
OpenFileDialog();
openFileDialog1.Title =
"打开excel文件"
;
openFileDialog1.Filter =
"excel03文件(*.xls)|*.xls|excel07文件(*.xlsx)|*.xlsx"
;
openFileDialog1.InitialDirectory =
@"C:\Users\Administrator\Desktop"
;
openFileDialog1.RestoreDirectory =
true
;
if
(openFileDialog1.ShowDialog() == DialogResult.OK)
{
excelpath = openFileDialog1.FileName;
eo =
new
ExcelOperate();
readExcel(excelpath);
}
}
void
readExcel(
string
path)
{
object
miss = System.Reflection.Missing.Value;
excel1.UserControl =
true
;
excel1.DisplayAlerts =
false
;
excel1.Application.Workbooks.Open(excelpath, miss, miss, miss, miss,
miss, miss, miss, miss,
miss, miss, miss, miss,
miss, miss);
wbs = excel1.Workbooks;
wss = wbs[1].Worksheets;
ws = (Excel.Worksheet) wss.get_Item(1);
int
rowNum = ws.UsedRange.Cells.Rows.Count;
int
colNum = ws.UsedRange.Cells.Columns.Count;
string
cellStr =
null
;
char
ch =
'A'
;
for
(
int
i = 0; i < colNum; i++)
{
dataGridView1.Columns.Add(i.ToString(), ch.ToString());
dataGridView1.Rows.Add(rowNum);
for
(
int
j = 0; j <rowNum; j++)
{
cellStr = ch.ToString() + (j + 1).ToString();
dataGridView1[i, j].Value = ws.UsedRange.Cells.get_Range(cellStr, miss).Text.ToString();
}
ch++;
}
}
#endregion
}
}