C#根据excel文件中的表头创建数据库表

news2024/11/25 18:32:58

C#根据excel文件中的表头创建数据库表

在这里插入图片描述

private void button1_Click(object sender, EventArgs e)
        {
            
            string tableName = tableNameTextBox.Text;
            string connectionString = "";

            using (OpenFileDialog openFileDialog = new OpenFileDialog())
            {
                openFileDialog.Filter = "Excel Files|*.xlsx;*.xls";
                openFileDialog.Title = "Select an Excel file";
                if (openFileDialog.ShowDialog() == DialogResult.OK)
                {
                    string filePath = openFileDialog.FileName;
                    tableName = tableNameTextBox.Text;
                    connectionString = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={filePath}; Extended Properties='Excel 12.0;HDR=YES;'";
                }
            }
            // SQL Server connection string
            string sqlConnectionString = "server=127.0.0.1;uid=sa;pwd=xyz@1230;database="+ datebasetext.Text;

            try
            {
                using (OleDbConnection excelConnection = new OleDbConnection(connectionString))
                {
                    excelConnection.Open();
                    DataTable schemaTable = excelConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, null);

                    if (schemaTable.Rows.Count == 0)
                    {
                        MessageBox.Show("Excel文件列名为空!");
                        return;
                    }
                    DataView sortedView = schemaTable.DefaultView;
                    sortedView.Sort = "ORDINAL_POSITION ASC";
                    DataTable sortedSchemaTable = sortedView.ToTable();

                    // Create the SQL CREATE TABLE statement
                    string createTableQuery = $"CREATE TABLE {tableName} (";

                    List<string> existingColumnNames = new List<string>();

                    foreach (DataRow row in sortedSchemaTable.Rows)
                    {
                        string columnName = row["COLUMN_NAME"].ToString();
                        if (!existingColumnNames.Contains(columnName))
                        {
                            createTableQuery += $"[{columnName}] NVARCHAR(200), ";
                            existingColumnNames.Add(columnName);
                        }
                    }
                    createTableQuery = createTableQuery.TrimEnd(',', ' ');
                    createTableQuery += ")";
                    using (SqlConnection sqlConnection = new SqlConnection(sqlConnectionString))
                    {
                        sqlConnection.Open();
                        using (SqlCommand sqlCommand = new SqlCommand(createTableQuery, sqlConnection))
                        {
                            sqlCommand.ExecuteNonQuery();
                        }
                    }
                    MessageBox.Show("创建表成功!");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("报错信息: " + ex.Message);
            }
        }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1003968.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Stable Diffusion - 配置 WebUI 升级至 v1.6.0 版本与 VirtualENV 环境配置

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/132177882 图像基于 哥特风格 绘制&#xff0c;参考 哥特 (Goth) 风格服装与背景的 LoRA 配置 Stable Diffusion WebUI 是一款基于 Stable Diffus…

uniapp自定义水印相机

uniapp自定义水印相机 背景实现UI实现功能实现全部实现代码 尾巴 背景 上一篇文章实现了uniapp中给页面添加水印&#xff0c;今天我们实现一个自定义水印相机&#xff08;最近跟水印杠上了&#xff0c;哈哈&#xff09;。主要使用了camera组件来实现取景框预览&#xff0c;最后…

华为云云耀云服务器L实例评测 | 使用UnixBench对华为云云耀云服务器L实例性能测试

文章目录 1 云耀云服务器L实例1.1 简介1.2 使用详情页&#xff1a;远程登录&#xff1a;本地连接&#xff1a;1. 重置密码2.设置安全组 MobaXterm本地连接 2 UnixBench性能测试2.1 UnixBench 的介绍和使用方法2.2 CentOS 7.6系统中编译和安装UnixBench的步骤&#xff1a;2.3 测…

java导出Mysql表信息生成Word文档

一、背景描述 系统上线或者交付&#xff0c;或者需要提供整理数据库表信息&#xff0c;如果一个个整理未免麻烦&#xff0c;接下来一个demo示例如何用JAVA导出Mysql数据库表信息生成Word文档。 传入null导出全部表 传指定表只导出指定表

pmp项目管理考试是什么?适合哪些人学?

PMP&#xff0c;简单点说&#xff0c;就是美国PMI为考察项目管理人士的专业能力而设立的考试。 该流程以知识和任务驱动型指南评估从业者的能力&#xff0c;同时确定项目经理能力行业标准&#xff0c;包括各项知识、任务和技能的特点、重要性与运用频率。&#xff08;考纲原文…

OpenHarmony创新赛|赋能直播第三期

开放原子开源大赛OpenHarmony创新赛赋能直播间持续邀请众多技术专家一起分享应用开发技术知识&#xff0c;本期推出OpenHarmony应用开发之音视频播放器和三方库的使用和方法&#xff0c;助力开发者掌握多媒体应用技术的开发能力和使用三方库提升应用开发的效率和质量&#xff0…

基于springboot的新闻门户网站

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

jenkins+newman+postman持续集成环境搭建

目录 一、Newman简介 二、Newman应用 三、安装newman 四、Html报告插件安装 五、安装nodejs&#xff1a; 六、 Jenkins集成步骤 一、Newman简介 Newman是一款基于Node.js开发的&#xff0c;可以运用postman工具直接从命令运行和测试postman集合 二、Newman应用 环境准备…

低代码开发趋势:利用Zoho Creator构建安全可靠的手机应用指南

在数字化时代&#xff0c;手机应用的重要性不言而喻。无论是企业还是个人用户&#xff0c;手机应用已经成为了连接世界、提升效率和改善生活的不可或缺的工具。然而&#xff0c;传统的手机应用开发通常需要大量的时间、资源和技术知识&#xff0c;对于许多人来说&#xff0c;这…

CSS绘制各种三角形

思路 从盒模型来看&#xff0c;如果content宽高为0, border有宽度&#xff0c;那么上下左右的border就会填充满整个盒子&#xff0c;于是四个方向的border都是三在这里插入图片描述 角形形状&#xff0c;这样想要哪边就显示哪边 效果 代码 html <!DOCTYPE html> <…

手写RPC框架--12.异常重试

异常重试 异常重试a.异常重试b.RPC的自我保护1) 介绍2) 实现令牌桶限流器 c.熔断器d.实现服务端的限流e.实现客户端的熔断f.流量隔离1) 介绍2) 实现 异常重试 a.异常重试 1.为什么需要异常重试&#xff1f; 当发起一次 yrpc 调用&#xff0c;去调用远程的一个服务&#xff0c…

【数据结构】包装类简单认识泛型

文章目录 1 包装类1.1 基本数据类型和对应的包装类1.2 装箱和拆箱 2 什么是泛型3 引出泛型3.1 语法 4 泛型类的使用4.1 语法4.2 示例4.3 类型推导(Type Inference) 5 泛型的上界5.1 语法5.2 示例5.3 复杂示例 6 泛型方法6.1 定义语法6.2 示例6.3 使用示例-可以类型推导6.4 使用…

Spring之文件上传下载,jrebel,多文件上传

文件上传,文件下载jrebel&多文件上传 1.文件上传,文件下载 文件上传 1.spring-xml配置多功能视图解析器 2.前端标记表单为多功能表单enctype”mutipart/form-data“ 3.后端可以直接利用mutipartFile类&#xff0c;接受前端传递到后台的文件 4.将文件转成流&#xff0c;然后…

DedeCMS_v5.7其他漏洞复现

一、URL重定向 http://127.0.0.1/DedeCMS-V5.7-UTF8-SP2/uploads/plus/download.php?open1&linkaHR0cDovL3d3dy5iYWlkdS5jb20 其中aHR0cDovL3d3dy5iYWlkdS5jb20是http://www.baidu.com的base64编码 访问后发现直接转到百度 二、后台shops_delivery_存储型XSS 管理员在…

30m退耕还湿空间数据集(2000-2010年,青藏高原地区)

摘要 a. 数据内容&#xff08;数据文件/表名称&#xff0c;包含的观测指标内容&#xff09; 30m退耕还湿空间数据集(2000-2010年&#xff0c;青藏高原地区)&#xff0c;反映了2000年至2010年期间青藏高原地区耕地退耕还湿的空间分布情况。 b. 建设目的 监测青藏高原地区的退耕还…

10 大演讲主题、14 位技术大咖!龙蜥大讲堂 9 月直播预告硬核来袭

「龙蜥大讲堂」9 月精彩预告来了&#xff0c;点击下方海报抢先了解。本月又是满满的技术干货分享&#xff0c;多位大咖带你共享技术盛宴&#xff01;提前进群&#xff0c;参与互动还有龙蜥精美周边等你来拿。 9 月精彩分享直达 &#x1f447; 加入龙蜥社区钉钉交流群&#xff0…

Springboot+swagger2

1.swagger配置 /*** Swagger 配置文件*/ Configuration public class SwaggerConfig {Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.swagger.two&qu…

神经网络 02(激活函数)

一、激活函数 在神经元中引入了激活函数&#xff0c;它的本质是向神经网络中引入非线性因素的&#xff0c;通过激活函数&#xff0c;神经网络就可以拟合各种曲线。 如果不用激活函数&#xff0c;每一层输出都是上层输入的线性函数&#xff0c;无论神经网络有多少层&#xff0c…

华为云云服务器云耀L实例评测 | 智能不卡顿:如何实现流畅的业务运行

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

数据分享|R语言武汉流动人口趋势预测:灰色模型GM(1,1)、ARIMA时间序列、logistic逻辑回归模型...

全文链接&#xff1a;http://tecdat.cn/?p32496 人口流动与迁移&#xff0c;作为人类产生以来就存在的一种社会现象&#xff0c;伴随着人类文明的不断进步从未间断&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。 相关视频 人力资源是社会文明进步、人民富裕…