C#导出数据到excel怎么弄?
需要可以设定列宽,合并单元格等等一系列excel可以使用的操作,总而言之就是可以改变导出后的excel的表格样式...
需要可以设定列宽,合并单元格等等一系列excel可以使用的操作,总而言之就是可以改变导出后的excel的表格样式
展开
3个回答
展开全部
先添加一个saveFileDialog控件
在引用里面添加 Microsoft.Office.Interop.Excel ( 在.NET程序集里面找)
try
{
saveFileDialog2.FileName = "月人员核定信息表"; //导出表的名称
saveFileDialog2.FilterIndex = 0;
saveFileDialog2.RestoreDirectory = true;
saveFileDialog2.Title = "导出文件保存路径";
saveFileDialog2.Filter = "Execl files (*.xls)|*.xls|txt files (*.txt)|*.txt|All files (*.*)|*.*";
saveFileDialog2.ShowDialog();
string filename = saveFileDialog2.FileName;
if (saveFileDialog2.ShowDialog() == DialogResult.OK)
{
if (filename != "")
{
//行数
int Rowcount = dataGridView1.RowCount;
//列数
int Columncount = dataGridView1.ColumnCount;
int rowindex = 1;
int columnindex = 0;
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
xlApp.DefaultFilePath = "";
xlApp.DisplayAlerts = true;
xlApp.SheetsInNewWorkbook = 1;
Microsoft.Office.Interop.Excel.Workbook xlBook = xlApp.Workbooks.Add(true);
//progressBar1.Visible = true;
//将DataTable的列名导入Excel表第一行,表头部分
foreach (DataGridViewColumn dc in dataGridView1.Columns)
{
columnindex++;
//给第一行的每个列添加值
xlApp.Cells[rowindex, columnindex] = dc.HeaderText;
}
//将DataTable中的数据导入Excel中
for (int i = 0; i < Rowcount; i++)
{
//给每一行的所有列一次添加值
rowindex++;
columnindex = 0;
for (int j = 0; j < Columncount; j++)
{
columnindex++;
xlApp.Cells[rowindex, columnindex] = dataGridView1[j, i].Value;
}
}
xlBook.SaveCopyAs(filename);
MessageBox.Show("数据已经成功导出到:" + saveFileDialog2.FileName.ToString(), "导出完成", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
catch (System.Exception)
{
MessageBox.Show("系统错误", "错误", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
祝你成功
在引用里面添加 Microsoft.Office.Interop.Excel ( 在.NET程序集里面找)
try
{
saveFileDialog2.FileName = "月人员核定信息表"; //导出表的名称
saveFileDialog2.FilterIndex = 0;
saveFileDialog2.RestoreDirectory = true;
saveFileDialog2.Title = "导出文件保存路径";
saveFileDialog2.Filter = "Execl files (*.xls)|*.xls|txt files (*.txt)|*.txt|All files (*.*)|*.*";
saveFileDialog2.ShowDialog();
string filename = saveFileDialog2.FileName;
if (saveFileDialog2.ShowDialog() == DialogResult.OK)
{
if (filename != "")
{
//行数
int Rowcount = dataGridView1.RowCount;
//列数
int Columncount = dataGridView1.ColumnCount;
int rowindex = 1;
int columnindex = 0;
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
xlApp.DefaultFilePath = "";
xlApp.DisplayAlerts = true;
xlApp.SheetsInNewWorkbook = 1;
Microsoft.Office.Interop.Excel.Workbook xlBook = xlApp.Workbooks.Add(true);
//progressBar1.Visible = true;
//将DataTable的列名导入Excel表第一行,表头部分
foreach (DataGridViewColumn dc in dataGridView1.Columns)
{
columnindex++;
//给第一行的每个列添加值
xlApp.Cells[rowindex, columnindex] = dc.HeaderText;
}
//将DataTable中的数据导入Excel中
for (int i = 0; i < Rowcount; i++)
{
//给每一行的所有列一次添加值
rowindex++;
columnindex = 0;
for (int j = 0; j < Columncount; j++)
{
columnindex++;
xlApp.Cells[rowindex, columnindex] = dataGridView1[j, i].Value;
}
}
xlBook.SaveCopyAs(filename);
MessageBox.Show("数据已经成功导出到:" + saveFileDialog2.FileName.ToString(), "导出完成", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
catch (System.Exception)
{
MessageBox.Show("系统错误", "错误", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
祝你成功
追问
光导出来不行 我还得要能够改变单元格的样式!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询