Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >DataTable导入到Excel文件

DataTable导入到Excel文件

作者头像
跟着阿笨一起玩NET
发布于 2018-09-18 08:14:01
发布于 2018-09-18 08:14:01
1.6K00
代码可运行
举报
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static bool DataTableToExcel(System.Data.DataTable dt, string fileName, bool showFileDialog=false)
        {
            if (showFileDialog)
            {
                SaveFileDialog saveFileDialog = new SaveFileDialog();
                saveFileDialog.Filter = "Execl files (*.xls)|*.xls";
                saveFileDialog.FilterIndex = 0;
                saveFileDialog.RestoreDirectory = true;
                saveFileDialog.CreatePrompt = true;
                saveFileDialog.FileName = fileName;
                saveFileDialog.Title = "Export Excel File To";
                // saveFileDialog.ShowDialog();
                if (saveFileDialog.ShowDialog() == DialogResult.OK)
                    fileName = saveFileDialog.FileName;
                else
                    return false;
            }
            System.Reflection.Missing miss = System.Reflection.Missing.Value;
            Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.ApplicationClass();
            Microsoft.Office.Interop.Excel.Workbooks books = (Microsoft.Office.Interop.Excel.Workbooks)excel.Workbooks;
            Microsoft.Office.Interop.Excel.Workbook book = (Microsoft.Office.Interop.Excel.Workbook)(books.Add(miss));
            Microsoft.Office.Interop.Excel.Worksheet sheet = (Microsoft.Office.Interop.Excel.Worksheet)book.ActiveSheet;
            if (!string.IsNullOrEmpty(dt.TableName))
            {
                sheet.Name = dt.TableName;
            }
            int intIndex = 0;
            foreach (DataColumn column in dt.Columns)
            {
                intIndex++;
                excel.Cells[1, intIndex] = column.ColumnName;
            }
            int rowCount = dt.Rows.Count;
            int colCount = dt.Columns.Count;
            object[,] dataArray = new object[rowCount, colCount];
            for (int i = 0; i < rowCount; i++)
            {
                for (int j = 0; j < colCount; j++)
                {
                    //避免格式不兼容,加上"'"
                    dataArray[i, j] = "'"+dt.Rows[i][j].ToString();
                }
            }
            sheet.get_Range("A2", sheet.Cells[rowCount + 1, colCount]).Value2 = dataArray;
            sheet.SaveAs(fileName, miss, miss, miss, miss, miss, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, miss, miss, miss);
            book.Close(false, miss, miss);
            books.Close();
            excel.Quit();
            //System.Runtime.InteropServices.Marshal.ReleaseComObject();   
            System.Runtime.InteropServices.Marshal.ReleaseComObject(sheet);
            System.Runtime.InteropServices.Marshal.ReleaseComObject(book);
            System.Runtime.InteropServices.Marshal.ReleaseComObject(books);
            System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);
            GC.Collect();
            return true;

        }View Code
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2013-08-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
C# excel文件导入导出
在C#交流群里,看到很多小伙伴在excel数据导入导出到C#界面上存在疑惑,所以今天专门做了这个主题,希望大家有所收获!
zls365
2020/08/19
3.8K0
C# excel文件导入导出
Excel导入导出数据库02
excel导入时还要保存字体、其背景颜色等信息时读取方法就要改变: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.IO; 6 using System.Data.OleDb; 7 using System.Data; 8 using Microsoft.Office.Interop.Excel; 9 u
欢醉
2018/01/22
4.4K0
C#导入导出数据到Excel的通用类代码
Excel文件导入导出,需引用Microsoft Excel 11.0 Object Library
用户8671053
2021/11/03
8810
C#实现Excel模板导出和从Excel导入数据
      午休时间写了一个Demo关于Excel导入导出的简单练习 1.窗体 2.引用office命名空间 添加引用-程序集-扩展-Microsoft.Office.Interop.Excel 3.
用户1055830
2018/01/18
4.2K0
C#实现Excel模板导出和从Excel导入数据
常见.NET功能代码汇总 (3) 33,彻底关闭Excel进程
33,彻底关闭Excel进程 .NET中使用Excel属于使用非托管资源,使用完成后一般都要用GC回收资源,但是,调用GC的位置不正确,Excel进程可能无法彻底关闭,如下面的代码: static void OpenExcelTest(int j) { //Application excel = null; excel = new Application(); excel.Visible = true;
用户1177503
2018/02/26
6390
彻底关闭Excle进程的几个方法
之前研究过的问题,最近有朋友问,这里再总结下做一个笔记。 我们在应用程序里面通过创建Excle应用对象打开Excle的情况下,如果不注意几个问题,可能无法彻底关闭Excle进程,来考察下面的几种情况: public static void startexcel() { var excel = new Microsoft.Office.Interop.Excel.Application(); excel.Visible = tr
用户1177503
2018/04/18
2K0
关于asp.net与winform导出excel的代码
一、asp.net中导出Execl的方法: 在asp.net中导出Execl有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上;一种是将文件直接将文件输出流写给浏览器。在Response输出时,t分隔的数据,导出execl时,等价于分列,n等价于换行。 1、将整个html全部输出execl 此法将html中所有的内容,如按钮,表格,图片等全部输出到Execl中。
跟着阿笨一起玩NET
2018/09/19
5.6K0
DataGridView输出或保存为Excel文件(支持超过65536行多Sheet输出)
/// <summary>         /// DataGridView控件数据导出到Excel,可设定每一个Sheet的行数         /// 建立多个工作表来装载更多的数据         /// </summary>         /// <param name="ExportGrid">DataGridView控件</param>         /// <param name="fullFileName">保存的文件路径</param>         /// <param name=
跟着阿笨一起玩NET
2018/09/18
1.5K0
C# 获取 Excel 文件的所有文本数据内容
获取上传的 EXCEL 文件的所有文本信息并存储到数据库里,可以进一步实现对文件内容资料关键字查询的全文检索。有助于我们定位相关文档,基本实现的步骤如下:
初九之潜龙勿用
2024/08/05
1510
C# 获取 Excel 文件的所有文本数据内容
Com Excel组件释放资源关闭进程总结
.NET 平台在内存管理方面提供了GC(Garbage Collection),负责自动释放托管资源和内存回收的工作,但它无法对非托管资源进行释放,这时我们必须自己提供方法来释放对象内分配的非托管资源,比如你在对象的实现代码中使用了一个COM对象。Microsoft.Office.Interop.Excel就属于一个COM对象,因此由它生成的所有资源都是非团管资源。
写代码的猿
2019/04/11
1.5K0
asp.net里导出excel表方法汇总
public void CreateExcel(DataSet ds,string typeid,string FileName) { HttpResponse resp; resp = Page.Response; resp.ContentEncoding = System.Text.Encoding.GetEncoding(“GB2312”); resp.AppendHeader(“Content-Disposition”, “attachment;filename=” + FileName); string colHeaders= “”, ls_item=””; int i=0;
全栈程序员站长
2022/06/30
8780
vb.net ExcelHelper类(三)
Public Sub InsertRows(rowIndex As Integer, count As Integer)
办公魔盒
2019/07/22
1K0
极速40分钟写出SQLite数据展示与导出功能【技术创作101训练营】
话说之前突发奇想让已经淘汰的安卓手机继续发光发热,就写了一个弱网络下的智慧就餐登记安卓程序。给饭堂用了几天感觉良好,但发现登记好了的数据不好导出也不好统计。于是趁周六早上,就随手写一了一个简单的win程序;也没想到这么快搞掂,所以就跟大伙分享一下过程吧。。
谭广健
2020/09/19
1.2K0
极速40分钟写出SQLite数据展示与导出功能【技术创作101训练营】
把图片插入excel表格并按分类生成sheets
private void Excel_Click(object sender, System.EventArgs e)
Java架构师必看
2021/03/22
9240
C#实现Excel合并单元格数据导入数据集
将Excel里的worksheet表格导入到DataSet里,是项目应用里常用的一种操作。一般情况下,worksheet是一个标准的二维数组,如下图:
初九之潜龙勿用
2024/06/20
2170
C#实现Excel合并单元格数据导入数据集
C# 实现完善 Excel 不规则合并单元格数据导入
在我的文章 《C#实现Excel合并单元格数据导入数据集》里讲述了可以将具有合并单元格的Excel文件数据导入到DataSet里,在实际使用情况中遇到如下情况,如下图:
初九之潜龙勿用
2025/02/20
1410
C# 实现完善 Excel 不规则合并单元格数据导入
C# 实现二维数据数组导出到 Excel
将数据库查询出来的数据导出并生成 Excel 文件,是项目中经常使用的一项功能。本文将介绍通过数据集生成二维数据数组并导出到 Excel。
初九之潜龙勿用
2024/09/11
1820
C# 实现二维数据数组导出到 Excel
vb.net ExcelHelper类(一)
''' 暂时不提供操作Excel对象样式方法,样式可以在Excel模板中设置好
办公魔盒
2019/07/22
1.4K0
C#如何快速高效地导出大量数据?
本文转载:http://www.cnblogs.com/herbert/archive/2010/07/28/1787095.html
跟着阿笨一起玩NET
2018/09/18
2.3K0
C#导入Excel数据的方式(两种)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/155377.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/06
6370
相关推荐
C# excel文件导入导出
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验