导出EXCEL 代码如下:我想在导出的EXCEL中定义时间,本来是2008年12月28日 00:00 导成 2008年12月28日 ,在就是列的
宽度和颜色,怎么定义啊
SaveFileDialog saveFileDialog = new SaveFileDialog();
            saveFileDialog.Filter = "Execl files (*.xls)|*.xls";
            saveFileDialog.FilterIndex = 0;
            saveFileDialog.RestoreDirectory = true;
            saveFileDialog.CreatePrompt = true;
            saveFileDialog.ShowDialog();
             try
            {
            if (saveFileDialog.FileName.IndexOf(":") < 0)
                return; //被点了"取消"            Stream myStream;
            myStream = saveFileDialog.OpenFile();
            StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding(-0));
            string columnTitle = "";
         
                //写入列标题
                for (int i = 1; i < dataGridView3.ColumnCount; i++)
                {
                    if (i > 0)
                    {
                        columnTitle += "\t";
                    }
                    columnTitle += dataGridView3.Columns[i].HeaderText;
                }
                sw.WriteLine(columnTitle);                //写入列内容
                for (int j = 0; j < dataGridView3.Rows.Count; j++)
                {
                    string columnValue = "";
                    //dataGridView3.Columns[1].DefaultHeaderCellType = "yyyy-mm-dd";
                    for (int k = 1; k < dataGridView3.Columns.Count; k++)
                    {
                        if (k > 0)
                        {
                            columnValue += "\t";
                        }
                        if (dataGridView3.Rows[j].Cells[k].Value == null)
                            columnValue += "";
                        else
                            columnValue += dataGridView3.Rows[j].Cells[k].Value.ToString().Trim();
                    }
                    sw.WriteLine(columnValue);
                }  
                 sw.Close();
                myStream.Close();
            
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.ToString());
            }
          
             

解决方案 »

  1.   

    本来是2008年12月28日 00:00 导成 2008年12月28日 ----
    这样你可以在循环dataGridView值的时候,读到绑定日期这一列
    dataGridView3.Rows[j].Cells[k].Value的值转为日期类型
    如:Convert.TODateTime(dataGridView3.Rows[j].Cells[k].Value).Tostring("yyyy年MM月dd日")
      

  2.   

    列宽的话你可以加:
     worksheet.Columns.EntireColumn.AutoFit();//列宽自适应
    这样子会根据你的内容来自动适应列宽的
      

  3.   

    worksheet是什么,我的代码中没有定义哦!!!!!!
      

  4.   

    日期类型装换,这个我知道,问题在与在那里装换,因为导出EXCEL是从Table中导的,所以装换应该在TABLE中,代码我试了下,但总是包错,能不能指点下。