DataGridView 导入、导出Excel、word的代码

  • 格式:docx
  • 大小:19.68 KB
  • 文档页数:4

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.Office.Interop.Excel;

namespace ExcelTools
{
public class ReadingAndwriting
{
///


/// 导出Excel
///

/// dataGridView控件名
/// 路径名
public static void WritingExcel(DataGridView gridView, string filename)
{
Microsoft.Office.Interop.Excel.Application app = new
Microsoft.Office.Interop.Excel.Application();
Workbook book = app.Workbooks.Add();
Worksheet sheet = book.Worksheets[1] as Worksheet;

//sheet.Name = "student";
//遍历所有的列标题
for (int i = 0; i < gridView.ColumnCount; i++)
{
sheet.Cells[1, i + 1] = gridView.Columns[i].HeaderText;
}

//循环读取所有的数据
for (int i = 0; i < gridView.Rows.Count; i++)
{
for (int j = 0; j < gridView.Columns.Count; j++)
{
sheet.Cells[i + 2, j + 1] = gridView.Rows[i].Cells[j].Value;
}
}
//设置禁止弹出保存和覆盖的询问提示框
app.DisplayAlerts = false;
app.AlertBeforeOverwriting = false;

//sheet.SaveAs(Environment.CurrentDirectory + "\\" + filename +
".xls");
//保存excel文件
sheet.SaveAs(filename);
book.Close();
app.Workbooks.Close();
app.Quit();
}

///


/// 导入Excel
///

/// dataGridView控件名
/// 路径名
public static void ReadingExcel(DataGridView gridView, string fileName)
{
Microsoft.Office.Interop.Excel.Application app = new
Microsoft.Office.Interop.Excel.Application();
Workbook book = app.Workbooks.Open(fileName);
Worksheet sheet = book.Worksheets[1] as Worksheet;

gridView.Rows.Clear();
gridView.Columns.Clear();

//添加每一列的列标题
for (int i = 1; ; i++)
{
string value = (sheet.Cells[1, i] as Range).Text.ToString();//
获得每列第一行数据。
if (value == string.Empty)//如果为空则代表已无数据
{
break;
}
gridView.Columns.Add("", value);
}

//导入每一行的数据
for (int i = 2; ; i++)
{
string value = (sheet.Cells[i, 1] as Range).Text.ToString();//
获得每行第一列数据。
if (value == string.Empty)//如果为空则代表已无数据
{
break;
}
//获得EXCEL中每行上的每列数据
string ID = (sheet.Cells[i, 1] as Range).Text.ToString();
string param1 = (sheet.Cells[i, 2] as Range).Text.ToString();
string param2 = (sheet.Cells[i, 3] as Range).Text.ToString();
string param3 = (sheet.Cells[i, 4] as Range).Text.ToString();
string param4 = (sheet.Cells[i, 5] as Range).Text.ToString();
string param5 = (sheet.Cells[i, 6] as Range).Text.ToString();
string param6 = (sheet.Cells[i, 7] as Range).Text.ToString();
gridView.Rows.Add(new object[] { ID, param1, param2, param3,
param4, param5, param6 });
}

book.Close();
app.Workbooks.Close();
app.Quit();
}
public static void ReadingWord(DataGridView dataGridView1)
{
Word.Document mydoc = new Word.Document();
Word.Table mytable;
Word.Selection mysel;
Object myobj;

//建立Word对象
Word.Application word = new Word.Application();
myobj = System.Reflection.Missing.Value;
mydoc = word.Documents.Add(ref myobj, ref myobj, ref myobj, ref myobj);
word.Visible = true;
mydoc.Select();
mysel = word.Selection;
//将数据生成Word表格文件
mytable = mydoc.Tables.Add(mysel.Range, this.dataGridView1.RowCount,
this.dataGridView1.ColumnCount, ref myobj, ref myobj);
//设置列宽
mytable.Columns.SetWidth(30, Word.WdRulerStyle.wdAdjustNone);
//输出列标题数据
for (int i = 0; i < this.dataGridView1.ColumnCount; i++)
{
mytable.Cell(1, i +
1).Range.InsertAfter(this.dataGridView1.Columns[i].HeaderText);
}
//输出控件中的记录
for (int i = 0; i < this.dataGridView1.RowCount - 1; i++)
{
for (int j = 0; j < this.dataGridView1.ColumnCount; j++)
{
mytable.Cell(i + 2, j + 1).Range.InsertAfter(this.dataGridView1[j,
i].Value.ToString());
}
}
}
}