我想创建一个程序,我从Excel文件(.xlsx)导入数据,对其进行更改,然后将其保存回Excel文件。我有一对夫妇的问题,即时通讯坚持了,我希望你能帮助我:保存从datagridview的头来excel?另存为Excel 2007格式(.xlsx)?
当我出口的datagridview回Excel,它错过了头,我怎样才能得到它导出这些以及?其他一切出口都很好。
目前看来我只能将导出保存为.xls文件,我如何将其另存为.xlsx文件。我已将文件名更改为xlsx,它创建了该文件,但我无法在Excel中查看它,因为格式不正确。
最后,如上所述,我想将它保存到原来的Excel文件中,我导入到datagridview,但我得到一个错误,说:“不能访问..... /调试文件夹,它可能已损坏或读取只要”。
以下是用于将Excel(.XLSX)数据导入到DataGridView
public Form1()
{
InitializeComponent();
// populate the dataGridView with the Excel File
string connectionString = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}; Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;
""", @"C:\Documents and Settings\User\Desktop\Visual Studio\GBstock\GBstock\bin\Debug\FORM TEST.xlsx");
string query = String.Format("select * from [{0}$]", "Sheet1");
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(query, connectionString);
DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet);
dataGridView1.DataSource = dataSet.Tables[0];
// populates the comboBox (cbSuppList) with all column headers
for (int i = 3; i < dataGridView1.Columns.Count; i++)
{
cbSuppList.Items.Add(dataGridView1.Columns[i].HeaderText);
}
}
以下是从DataGridView到Excel “保存” 代码,allbeit .xls格式
代码private void btnSave_Click(object sender, EventArgs e)
{
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
int i = 0;
int j = 0;
for (i = 0; i <= dataGridView1.Rows.Count - 1; i++)
{
for (j = 0; j <= dataGridView1.Columns.Count - 1; j++)
{
DataGridViewCell cell = dataGridView1[j, i];
xlWorkSheet.Cells[i + 1, j + 1] = cell.Value;
}
}
xlWorkBook.SaveAs("C:/Documents and Settings/User/Desktop/Visual Studio/GBstock/GBstock/bin/Debug/FORM TEST.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();
}
感谢您的回应。我很新,并且一直在学习,它更多的是一种业余爱好而不是一种职业。 1.我将如何去使用HeaderText?我正在读这个,并会相应地改变。 3.资源?我是否曾经一次性地回顾过这些数据后才必须处置? – Rg786 2012-03-08 11:44:00
我们编辑我的答案,添加一些新闻信息。 – kerrubin 2012-03-08 12:55:19
谢谢。 3.我已经包含了处理dataAdaptor,但是我得到了一个“COMException was unhandled”的错误。它所显示的代码行是上面第四行的代码,如上所示:(xlWorkBook.SaveAs(“C:/ .... etc)) – Rg786 2012-03-08 14:17:57