标题:[讨论]Excel文件保存
取消只看楼主
小海龟
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1068
专家分:4
注 册:2006-8-1
 问题点数:0 回复次数:6 
[讨论]Excel文件保存
我用C#将从数据库中读取出来的数据保存到Excel文件,但是保存之后发现原来的数据长度变小了,一般Excel文件默认保存长度为8,不知道大家有没有遇到这种情况?
搜索更多相关主题的帖子: Excel 文件 保存 
2006-08-22 09:11
小海龟
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1068
专家分:4
注 册:2006-8-1
得分:0 
怎么没人发言啊,难道都没有遇到这样的情况?

[bc09] 犯强汉者,虽远比诛!
2006-08-22 10:36
小海龟
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1068
专家分:4
注 册:2006-8-1
得分:0 
是我搞错了,Excel里面保存的string类型的数据有0的话就会把0截取掉。

[bc09] 犯强汉者,虽远比诛!
2006-08-22 12:13
小海龟
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1068
专家分:4
注 册:2006-8-1
得分:0 
要不你试试看?

[bc09] 犯强汉者,虽远比诛!
2006-08-22 12:40
小海龟
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1068
专家分:4
注 册:2006-8-1
得分:0 
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
int rowIndex = 1;
int colIndex = 0;
excel.Application.Workbooks.Add(true);
System.Data.DataTable table = GetData(index);
//将所得到的表的列名,赋值给单元格
foreach (DataColumn col in table.Columns)
{
colIndex++;
excel.Cells[1, colIndex] = col.ColumnName;
}
//同样方法处理数据
foreach (DataRow row in table.Rows)
{
rowIndex++;
colIndex = 0;
foreach (DataColumn col in table.Columns)
{
colIndex++;
excel.Cells[rowIndex, colIndex] = row[col.ColumnName].ToString();
}
}
//不可见,即后台处理
excel.Visible = false;
excel.UserControl = false;
if (m_strSampleFolder.ToString().Length == 3)
{
excel.ActiveWorkbook.SaveAs(m_strSampleFolder + OutFileName, Excel.XlFileFormat.xlWorkbookNormal, m_objOpt, m_objOpt, m_objOpt, m_objOpt, Excel.XlSaveAsAccessMode.xlNoChange, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt);
}
else
{
excel.ActiveWorkbook.SaveAs(m_strSampleFolder + "\\" + OutFileName, Excel.XlFileFormat.xlWorkbookNormal, m_objOpt, m_objOpt, m_objOpt, m_objOpt, Excel.XlSaveAsAccessMode.xlNoChange, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt);
}
MessageBox.Show("文件保存成功");

[bc09] 犯强汉者,虽远比诛!
2006-08-22 13:35
小海龟
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1068
专家分:4
注 册:2006-8-1
得分:0 
这些例子在.net2005的帮助文档里有,但是还是解决不了我的问题,不过还是谢谢了。

[bc09] 犯强汉者,虽远比诛!
2006-08-22 14:15
小海龟
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1068
专家分:4
注 册:2006-8-1
得分:0 
关闭进程可以调用这个方法:
private void KillProcess(string processName)
{
System.Diagnostics.Process myproc= new System.Diagnostics.Process();
try
{
foreach (Process thisproc in Process.GetProcessesByName(processName))
{
if(!thisproc.CloseMainWindow())
{
thisproc.Kill();
}
}
}
catch
{}
}

[bc09] 犯强汉者,虽远比诛!
2006-08-22 14:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-85396-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021279 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved