当前位置: 首页 > 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;}
}

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

相关文章:

  • 深入理解用于中断控制的 NVIC 寄存器
  • STM32之串口通信WIFI上云
  • PyTorch中cdist和sum函数使用详解
  • 25、工业防火墙 - 工控网络保护 (模拟) - /安全与维护组件/industrial-firewall-dcs-protection
  • 免费的DDOS防护对网站业务有用吗?
  • PEFT库PromptTuningConfig 配置
  • Google I/O 2025:Gemini 2.5 Pro、Project Astra 与 AI Ultra 全面解析
  • Gartner研究报告《Generative AI 赋能Digital Commerce的三种路径》学习心得
  • Python人工智能算法 模拟退火算法:原理、实现与应用
  • 阿里云合集(不定期更新)
  • 【Vue篇】重剑无锋:面经PC项目工程化实战面经全解
  • RuntimeError: Cannot find sufficient samples, consider increasing dataset size.
  • Linux上运行程序加载动态库失败
  • 【完整版】基于laravel开发的开源交易所源码|BTC交易所/ETH交易所/交易所/交易平台/撮合交易引擎
  • GO语言学习(七)
  • 港股IPO市场火爆 没有港卡如何参与港股打新?
  • 以太坊ETH创建代币完整教程
  • 【钱包协议】:WalletConnect 详解
  • 工业路由器WiFi6+5G的作用与使用指南,和普通路由器对比
  • Oracle审计用户登录信息
  • 搬瓦工putty做网站/百度搜索排行榜
  • 小型手机网站建设哪家好/网页搜索引擎
  • 北京建设部官方网站证书查询/跨境电商关键词工具
  • 天津如何做百度的网站推广/怎么建个人网站