一行一行zhantie 到excel
Range rangeRowStart;
int startColumnIndex = 25;
int startRowIndex = 12;
for (int i = 0; i < dt.Rows.Count; i++)
{
string rowContent="";
for (int j = 0; j < dt.Columns.Count; j++)
{
rowContent = rowContent+dt.Rows[i][j].ToString() + "/t";
}
rangeRowStart = (Range)worksheet.Cells[startRowIndex + i, startColumnIndex];
System.Windows.Forms.Clipboard.SetDataObject(rowContent);
rangeRowStart.Select();
worksheet.Paste(rangeRowStart, false);
System.Windows.Forms.Clipboard.SetDataObject("");
}
bianli
public static void DataTabletoExcel(System.Data.DataTable tmpDataTable, Workbook xlBook, Microsoft.Office.Interop.Excel.Application xlApp, int rowIndex, int columnIndex)
{
if (tmpDataTable == null)
return;
Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)xlBook.ActiveSheet;
foreach (DataColumn dc in tmpDataTable.Columns)
{
columnIndex++;
xlApp.Cells[rowIndex, columnIndex] = dc.ColumnName;
}
for (int i = 0; i < tmpDataTable.Rows.Count; i++)
{
rowIndex++;
columnIndex = 0;
for (int j = 0; j < tmpDataTable.Columns.Count; j++)
{
columnIndex++;
xlApp.Cells[rowIndex, columnIndex] = tmpDataTable.Rows[i][j].ToString();
}
}
// worksheet.Cells[1, 1] 起始的?元格
// worksheet.Cells[5, 5] 一直到5 5?个范?内的?元格
// "1,2,3" 是下拉菜?
//worksheet.get_Range(worksheet.Cells[1, 1], worksheet.Cells[5, 5]).Validation.Add(Microsoft.Office.Interop.Excel.XlDVType.xlValidateList, Microsoft.Office.Interop.Excel.XlDVAlertStyle.xlValidAlertStop, Type.Missing, "1,2,3", Type.Missing);
//xlBook.SaveCopyAs(strFileName);
}
StringBuilder stringBuilder= new StringBuilder();
foreach (DataColumn col in data.Columns)
stringBuilder= .Append(col.ColumnName + "/t");
stringBuilder= .AppendLine();
foreach (DataRow row in data.Rows)
{
foreach (DataColumn col in data.Columns)
stringBuilder.Append(row[col].ToString() + "/t");
stringBuilder.AppendLine();
}
System.Windows.Forms.Clipboard.SetDataObject("");
// 放入剪切板
System.Windows.Forms.Clipboard.SetDataObject(buffer.ToString());
var range = (Excel.Range)xstSheet.Cells[1, 1];
range.Select();
xstSheet.Paste();
// 清空剪切板
System.Windows.Forms.Clipboard.SetDataObject("");
StringBuilder stringBuilder = new StringBuilder();
foreach (DataColumn col in dt.Columns)
{
stringBuilder.Append(col.ColumnName + "/t");
stringBuilder.AppendLine();
}
foreach (DataRow row in dt.Rows)
{
foreach (DataColumn col in dt.Columns)
stringBuilder.Append(row[col].ToString() + "/t");
stringBuilder.AppendLine();
}
System.Windows.Forms.Clipboard.SetDataObject("");
System.Windows.Forms.Clipboard.SetDataObject(stringBuilder.ToString());
System.Windows.Forms.Clipboard.SetDataObject(dt);
Range range = (Microsoft.Office.Interop.Excel.Range)worksheet.Cells[1, 1];
range.Select();
worksheet.Paste(range, false);
System.Windows.Forms.Clipboard.SetDataObject("");