/// <summary>
/// 导出txt
/// </summary>
/// <param name="ds">dataset数据集</param>
/// <param name="fileName">文件名,“a.txt”</param>
public void CreateSqlToTxt(DataSet ds, string fileName)
{
HttpResponse resp = System.Web.HttpContext.Current.Response;
resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
resp.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlPathEncode(fileName));
string colHeader = "", ls_item = "";
DataTable dt = ds.Tables[0];
DataRow[] myRow = dt.Select();
int i = 0;
int cl = dt.Columns.Count;//列数
//取得数据表各列标题,各标题之间以t分割,最后一个列标题后加回车符
for (i = 0; i < cl; i++)
{
if (i == (cl - 1))
{
colHeader += dt.Columns[i].Caption.ToString() + "\n";
}
else
{
colHeader += dt.Columns[i].Caption.ToString() + "\t";
}
}
resp.Write(colHeader);//向HTTP输出流中写入取得的数据信息
//逐行处理数据
foreach (DataRow row in myRow)
{
//当前行数据写入HTTP输出流,并且置空ls_item以便下行数据
for (i = 0; i < cl; i++)
{
if (i == (cl - 1))//最后一列,加n
{
ls_item += row[i].ToString() + "\n";
}
else
{
ls_item += row[i].ToString() + "\t";
}
}
resp.Write(ls_item);
ls_item = "";
}
resp.End();
}
-------------------------------------------------------------------------------------------------------------------------------------------------
/// <param name="dt">导出为Excel的DataTable</param>
public void exportExcel(string titleName, System.Data.DataTable dt)
{
//获取要导出的数据的总列数
int columnCount = dt.Columns.Count;
//创建Excel对象
Excel.Application excelApp = new Excel.ApplicationClass();
Excel.Workbook workBook = excelApp.Workbooks.Add(true); //新建工作簿
Excel.Worksheet workSheet = (Excel.Worksheet)workBook.ActiveSheet; //新建工作表
//设置标题
Excel.Range titleRange = workSheet.get_Range(workSheet.Cells[1, 1], workSheet.Cells[1, columnCount]); //选取在哪些单元格中设置标题
titleRange.Merge(true); //合并单元格
titleRange.Value2 = titleName; //设置单元格内标题文本
//设置标题样式
titleRange.Font.Name = "华文新魏"; //设置字体
titleRange.Font.Size = 20; //设置字号
titleRange.Font.Bold = true; //粗体显示
titleRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter; //水平居中
titleRange.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter; //垂直居中
titleRange.Borders.LineStyle = Excel.XlLineStyle.xlContinuous; //设置边框样式
titleRange.Borders.Weight = Excel.XlBorderWeight.xlMedium; //边框常规粗细
//设置表头
for (int i = 0; i < columnCount; i++)
{
Excel.Range headerRange = (Excel.Range)workSheet.Cells[2, i + 1]; //获取表头单元格
headerRange.Value2 = dt.Columns[i].ColumnName; //设置表头单元格文本
//设置表头样式
headerRange.Font.Name = "黑体"; //设置字体
headerRange.Font.Size = 11; //设置字号
headerRange.Font.Bold = true; //粗体显示
headerRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter; //水平居中
headerRange.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter; //垂直居中
headerRange.ColumnWidth = 15; //设置列宽
headerRange.Borders.LineStyle = Excel.XlLineStyle.xlContinuous; //设置边框样式
headerRange.Borders.Weight = Excel.XlBorderWeight.xlMedium; //边框常规粗细
}
//填充数据到Excel内容中
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int j = 0; j < dt.Columns.Count; j++)
{
Excel.Range contentRange = (Excel.Range)workSheet.Cells[i + 3, j + 1]; //获取内容单元格
contentRange.Value2 = dt.Rows[i][j]; //设置内容单元格文本
//设置填充数据样式
contentRange.Font.Name = "黑体"; //设置字体
contentRange.Font.Size = 10; //设置字号
contentRange.Font.Bold = false; //粗体显示
contentRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter; //水平居中
contentRange.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter; //垂直居中
contentRange.Borders.LineStyle = Excel.XlLineStyle.xlContinuous; //设置边框样式
contentRange.Borders.Weight = Excel.XlBorderWeight.xlMedium; //边框常规粗细
}
}
//设置Excel可见
excelApp.Visible = true;
}