C# 导出到EXCEL,多次导出选择同一个EXCEL表,如何插入到sheet而不是替换

朱大成 2014-06-26 04:46:00


我的导出代码:
public static void ExportToExcel(System.Data.DataTable dt)
{
if (dt == null) return;
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
System.Windows.Forms.SaveFileDialog saveDia = new SaveFileDialog();
saveDia.Filter = "Excel 文件(*.xls)|*.xls|Excel 文件(*.xlsx)|*.xlsx";
saveDia.Title = "导出为Excel文件";
saveDia.FileName = string.Format(DateTime.Now.ToString("yyyy-MM-dd-HHmmss"));
if (saveDia.ShowDialog() == System.Windows.Forms.DialogResult.OK
&& !string.Empty.Equals(saveDia.FileName))
{
Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks;
Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//取得sheet1
Microsoft.Office.Interop.Excel.Range range = null;
long totalCount = dt.Rows.Count;
long rowRead = 0;
float percent = 0;
string fileName = saveDia.FileName;

//写入标题
for (int i = 0; i < dt.Columns.Count; i++)
{。。。。。}
//写入内容
。。。。。。

个人想法:

如果导出时,判断下(文件名是否重复) 如果重复 {插入到sheet2里 } 如果没有重复{。。。}

求教具体想法和写法~~~~非常感谢!
...全文
259 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
PaulyJiang 2014-06-30
  • 打赏
  • 举报
回复
这个好像要自己写的吧 自带的搞不定哎
熙风 2014-06-26
  • 打赏
  • 举报
回复
   for (int k = 1; k < ds.Tables[1].Rows.Count + 1; k++)  
                {  
                    _Excel.Sheets xlSheets = book.Sheets as Sheets;  
                    //  添加 Sheet  
                    sheet = (Worksheet)xlSheets.Add(xlSheets[1], Type.Missing, Type.Missing, Type.Missing);  
                }
於黾 2014-06-26
  • 打赏
  • 举报
回复
不是已经取得saveDia.FileName并判断它是否为空了么 再加一个判断,此文件是否存在,存在就打开,追加个sheet 不存在就执行你之前的代码.
xdashewan 2014-06-26
  • 打赏
  • 举报
回复
引用 楼主 u012754955 的回复:
如果导出时,判断下(文件名是否重复) 如果重复 {插入到sheet2里 } 如果没有重复{。。。}
你的想法完全正确,做法就是判断文件重复后跳过SaveFileDialog操作,直接打开个那个文件,然后追加一个新sheet,然后再新sheet内操作数据

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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