C/S结构,sql Server2000,如何将select的结果(或dataset)保存到本地Excel,不知道用什么控件或者语句!
求代码!!!
求代码!!!
解决方案 »
- 下了一个微软的Data Access Application Block示例项目,为何运行时窗体没有xp效果呢?
- 计算开机时间,谁给点想法
- 大家来看看,一命名空间的引用
- 菜鸟提问:有一句代码看不懂,请大家解释
- Visualc#连接SQL数据库出现异常,提示未处理的“SystemData.SqlClient.SqlException”类型的异常
- 如何删除组件
- 如何计算一个字符串包含特定子串的数量
- 小问题,请大家帮助一下
- 急~~~~~~~~~解决就揭贴!!!
- C#中如何用反射的方式执行一个异步方法?
- datagridview排序后,checkbox列的选择状态都变成反选了
- 一个VbScript中调用外部程序时传值的问题
/// <summary>
/// 通过Excel对象形势写入
/// </summary>
/// <param name="savePath">保存路径名字</param>
private void WriteExcel(string savePath, DataTable excelData)
{
logger.InfoFormat(ResumeReaderConst.LOG_INFO_METHOD_START, MethodInfo.GetCurrentMethod().Name); // 创建Excel对象
Excel.Application myExcel= new Microsoft.Office.Interop.Excel.Application(); try
{
// 打开指定Excel文件
Excel.Workbook xlsBook = myExcel.Workbooks.Open(savePath, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value); //指定要操作的Sheet,两种方式
//之一:
//Excel.Worksheet xlsSheet = (Excel.Worksheet)xlsBook.Sheets[1];
//之二:
Excel.Worksheet xlsSheet = (Excel.Worksheet)xlsBook.ActiveSheet; // 写入系统日期
Excel.Range rangeSysTime = xlsSheet.get_Range("O1", Type.Missing);
rangeSysTime.Value2 = DateTime.Now.ToString(); int nRowCount = excelData.Rows.Count;
int nColumnCount = excelData.Columns.Count; //在单元格中写入数据
Excel.Range range = xlsSheet.get_Range("A3", Type.Missing);
range = range.get_Resize(nRowCount, nColumnCount);
// 转换格式
string[,] strTransExcel = new string[nRowCount, nColumnCount]; for (int nRowIndex = 0; nRowIndex < nRowCount; nRowIndex++)
{
for (int nColumnIndex = 0; nColumnIndex < nColumnCount; nColumnIndex++)
{
strTransExcel[nRowIndex, nColumnIndex] = excelData.Rows[nRowIndex][nColumnIndex].ToString();
}
} // 写入数据
range.Value2 = strTransExcel;
// 保存退出
xlsBook.Save(); logger.InfoFormat(ResumeReaderConst.LOG_INFO_METHOD_END, MethodInfo.GetCurrentMethod().Name);
}
catch (Exception ex)
{
logger.Error(MethodInfo.GetCurrentMethod().Name, ex);
throw ex;
}
finally
{
myExcel.Quit();
myExcel = null;
}
}
#endregion
实例:EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out c:\temp1.xls -c -q -S"pmserver" -U"sa" -P"sa"'
EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout C:\ authors.xls -c -Sservername -Usa -Ppassword'EXEC master..xp_cmdshell 'bcp "select name from axzq..staff order by name" queryout d:staffName.xls -c -q -S"." -U"sa" -P"gazx"'
也可以用oledbconnection连接excel文件,当做数据表操作写入。