当前位置: 首页 > news >正文

sqlsugar查看表结构并导出word文档

前提

SqlSugar 5.1.4
MiniWord 0.9.2
在这里插入图片描述

使用

using MiniSoftware;
using SqlSugar;namespace ConsoleApp5
{internal class Program{/// <summary>/// 导出数据库表结构和字段信息/// https://www.donet5.com/Home/Doc?typeId=1203/// </summary>/// <param name="args"></param>static void Main(string[] args){var connectionString = "Server=127.0.0.1;uid=sa;pwd=12345678;Database=数据库名;MultipleActiveResultSets=true;pooling=true;min pool size=5;max pool size=32767;connect timeout=20;Encrypt=True;TrustServerCertificate=True;";var db = new SqlSugarClient(new ConnectionConfig(){DbType = DbType.SqlServer,ConnectionString = connectionString,IsAutoCloseConnection = true});// 获取所有表名及备注var tables = db.DbMaintenance.GetTableInfoList(false);Console.WriteLine($"总共有{tables.Count}张表");var totalData = new Dictionary<string, object>();var tableDataList = new List<TableModel>();int index = 0;foreach (var table in tables){//Console.WriteLine($"表名:{table.Name},备注:{table.Description}");var tableData = new TableModel(){Name = table.Name,Description = table.Description};var columns = db.DbMaintenance.GetColumnInfosByTableName(table.Name, false);index = 0;foreach (var column in columns){index += 1;var tableColumnData = new ColumnModel(){Idx = index,CName = column.DbColumnName,CDesc = column.ColumnDescription,CType = column.DataType};tableData.Columns.Add(tableColumnData);//Console.WriteLine($"\t字段名:{column.DbColumnName},类型:{column.DataType},备注:{column.ColumnDescription}");}tableDataList.Add(tableData);}totalData.Add("tables", tableDataList);Console.WriteLine("数据查询完毕");var basePath = AppDomain.CurrentDomain.BaseDirectory;var resultName = DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss") + ".docx";var outputPath = Path.Combine(basePath, resultName);var intputPath = Path.Combine(basePath, "009.docx");MiniWord.SaveAsByTemplate(outputPath, intputPath, totalData);Console.WriteLine("完成");Console.ReadKey();}}public class TableModel{/// <summary>/// 表名称/// </summary>public string Name { get; set; } = string.Empty;/// <summary>/// 表描述/// </summary>public string Description { get; set; } = string.Empty;/// <summary>/// 表中的列字段/// </summary>public List<ColumnModel> Columns { get; set; } = new List<ColumnModel>();}public class ColumnModel{/// <summary>/// 索引/// </summary>public int Idx { get; set; } = 0;/// <summary>/// 列名称/// </summary>public string CName { get; set; } = string.Empty;/// <summary>/// 列名称/// </summary>public string CDesc { get; set; } = string.Empty;/// <summary>/// 列类型/// </summary>public string CType { get; set; } = string.Empty;}
}

模板
在这里插入图片描述
结果
在这里插入图片描述

http://www.xdnf.cn/news/560323.html

相关文章:

  • 【leetcode】70. 爬楼梯
  • leetcode 25. Reverse Nodes in k-Group
  • 民锋视角下的多因子金融分析模型实践
  • Vue组件通信方式及最佳实践
  • 【C++ 真题】P1075 [NOIP 2012 普及组] 质因数分解
  • openCV1.1 Mat对象
  • 中级统计师-统计学基础知识-第五章 相关分析
  • Day 0014:信息收集工具链
  • 搭建人工智能RAG知识库的主流平台与特点概述
  • 第9.2讲、Tiny Decoder(带 Mask)详解与实战
  • nfs存储IO等待,导致k8s业务系统卡慢问题处理
  • 基于R语言的贝叶斯网络模型实践技术应用:开启科研新视角
  • 安灯系统让注塑机故障响应快如闪电告别停机烦恼
  • 空调系统虚拟标定技术:新能源汽车能效优化的革命性突破
  • C++使用max_element()配合distance()求出vector中的最大值及其位置
  • Oracle基础知识(一)
  • 强化学习_置信域算法RL
  • 【DeepSeek】为什么需要linux-header
  • arrow-0.1.0.jar 使用教程 - Java jar包运行方法 命令行启动步骤 常见问题解决
  • jvm对象压缩
  • Hellorobot 移动操作机器人开源实践:HPR 模型 + 全栈资源,降低家庭机器人开发门
  • 攻防世界 Web题--easytornado
  • 《C 语言 sizeof 与 strlen 深度对比:原理、差异与实战陷阱》
  • BigemapPro蒙版使用技巧:精准导出地图范围
  • Paillier加密方案的原理、实现与应用(vs)
  • Unity自定义shader打包SpriteAtlas图集问题
  • 101个α因子#7
  • 多角色对账效率低?易境通散货拼柜系统如何高效协同?
  • QT学习笔记---表格
  • CAP理论 ,了解一下什么是CAP理论