把datatale中指定row存到另一datatable中,第一行为空,最后一行无
人生无悔 2008-08-26 10:59:15 部分代码:
Excel.Application myexcel = new Excel.ApplicationClass();
Excel.Workbook mybook = myexcel.Workbooks.Add(true);
int row_cnt = dt.Rows.Count;
int col_cnt = dt.Columns.Count;
for (int i = 1; i < (Math.Truncate((double)(row_cnt / Convert.ToInt32(tb1.Text))) + 2); i++)
{
if (i == 1)
{
System.Data.DataTable dts = new System.Data.DataTable();
DataColumnCollection dcc = dt.Columns;
foreach (DataColumn dc in dcc)
{
dts.Columns.Add(dc.ColumnName);
}
Excel.Worksheet mysheet = (Excel.Worksheet)mybook.Sheets[1];
mysheet.Name = Convert.ToString(tb2.Text + 1);
for (int row = 0; row < ((row_cnt < Convert.ToInt32(tb1.Text)) ? row_cnt: Convert.ToInt32(tb1.Text)); row++)
{
try
{
System.Data.DataRow dr = dts.NewRow();
foreach (DataColumn dc in dt.Columns)
{
dr.Table.Columns[dc.ColumnName].DefaultValue = dt.Rows[row + Convert.ToInt32(tb1.Text) * (i - 1)].ItemArray.GetValue(Convert.ToInt32(dc.Ordinal));
}
dts.Rows.Add(dr);
}
catch(Exception err)
{
MessageBox.Show(err.Message);
return;
}
}
dt为原表,第一次执行foreach时,dr为空,但defaultvalue有值。最后一行值没有显示到新建的datatable。
刚审请,没可用分,请朋友们帮个忙,非常感谢!