Excel导入/导出Sql Server的问题

dragonnan 2007-06-15 09:26:55
同样的表头,用系统直接导出的Excel文件直接导入数据库就报错,用自己写的就可以成功,不知道什么原因
我猜是两者属性的差异,可是也找不到区别
请高手指点
另外,导入好像对数字和文字识别上也有问题 ,有些不能导入,有人知道怎么回事么
...全文
250 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaozhengzzlt 2008-10-03
  • 打赏
  • 举报
回复
MARK
mdl821120 2007-06-19
  • 打赏
  • 举报
回复
学习ing
Alvin709 2007-06-19
  • 打赏
  • 举报
回复
最近的项目刚刚做到这里..
思路:
利用Excel组件将DataGrid控件内容生成Excel临时文件,并存放在服务器上,然后用Response方法将生成的Excel文件下载到客户端然后再将生成的临时文件删除。
例子:
using System.IO;
using System.Reflection;
using System.Text;
using Microsoft.Office.Interop.Excel;


//导出文件.
private void Exportfile(System.Data.DataTable dt,string filename)
{
if (dt == null) return;
Microsoft.Office.Interop.Excel.ApplicationClass xApp=new Microsoft.Office.Interop.Excel.ApplicationClass();
xApp.Visible=true;
Workbook xbook=xApp.Workbooks._Open(Server.MapPath("/ZNDXYJSGL/temps1/SuperTemplet.xls"),Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value);
Worksheet xsheet=(Worksheet)xbook.ActiveSheet;
for(int row=0;row<dt.Rows.Count;row++)
{
for(int column=0;column<dt.Columns.Count;column++)
{
xsheet.Cells[row+1,column+1]=dt.Rows[row][column].ToString();
}
}
xbook.SaveAs(Server.MapPath("/ZNDXYJSGL/temps1/"+filename),-4143,"","",false,false,XlSaveAsAccessMode.xlNoChange,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value);
xApp.Workbooks.Close();
if (xApp != null)
{
xApp.Workbooks.Close();
xApp.Quit();
int generation = System.GC.GetGeneration(xApp);
System.Runtime.InteropServices.Marshal.ReleaseComObject(xApp);
xApp = null;
System.GC.Collect(generation);
}
GC.Collect();// 行销毁

#region 强行杀死最近打开的Excel进程
System.Diagnostics.Process[] excelProc = System.Diagnostics.Process.GetProcessesByName("EXCEL");
System.DateTime startTime = new DateTime();
int m, killId = 0;
for (m = 0; m < excelProc.Length; m++)
{
if (startTime < excelProc[m].StartTime)
{
startTime = excelProc[m].StartTime;
killId = m;
}
}
if (excelProc[killId].HasExited == false)
{
excelProc[killId].Kill();
}
#endregion
}
dragonnan 2007-06-19
  • 打赏
  • 举报
回复
没有别的办法么?自己用也就算了 ,可是让用户导来导去,好像不太好啊
nyzfl 2007-06-19
  • 打赏
  • 举报
回复
路过
飞不动 2007-06-18
  • 打赏
  • 举报
回复
把EXCEL另存成文本文件,再导入
dragonnan 2007-06-18
  • 打赏
  • 举报
回复
顶最后一次
dragonnan 2007-06-17
  • 打赏
  • 举报
回复
还没有答案………
LutzMark 2007-06-15
  • 打赏
  • 举报
回复
mark
crossbet 2007-06-15
  • 打赏
  • 举报
回复
顶!我也对SQL server的导入功能困惑已久,就连两个数据库表的数据互导都出错,表结构完全一样的
dragonnan 2007-06-15
  • 打赏
  • 举报
回复
ttttttt
hyl8218 2007-06-15
  • 打赏
  • 举报
回复
mark
dragonnan 2007-06-15
  • 打赏
  • 举报
回复
ttttttt

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧