sqlserver导出大量数据到Excel,电子表满

sqlserver导出大量数据到Excel

记录导出数据遇到的坑~~~
sqlserver 导出数据到Excel最简单的方法是将查询出来的结果,右键–>另存为excel或者txt。但是这种方式有明显缺点,如果内容中有特殊的字符,往往会影响我们导出的excel准确性。比如有回车符的时候excel格式也会窜行,影响数据识读性。这就导致了我sql查询出的结果是2万条,但是实际导出的时候看行号却少了几百条。
另一种方式更加标准化一些,利用sqlserver自带的导出功能。右键数据库–>任务–>导出数据–>指定数据源和目标文件。
这里要注意一下,在指定文件的时候往往导出Excel文件后缀会默认为.xls,无论这里选择了97-03版本还是07版本,这里都是.xls。据观察.xls和.csv在存储相同数量的文件时,文档大小要远大于.xlsx。所以,在这里要手动调整一下文档的后缀名为.xlsx。这样在遇到“电子表满”的问题前可以存储更多的数据sqlserver导出大量数据到Excel,电子表满_第1张图片(当然我的数据库是管理工具是2014版的,新版本可能没这个问题,不过我没有尝试。)
上步操作可以增加导出数据的量,但是导出大量数据时往往会很慢,这时可以利用另一个操作。“编辑映射”
sqlserver导出大量数据到Excel,电子表满_第2张图片sqlserver导出大量数据到Excel,电子表满_第3张图片 数据库导出时往往把一个很小的字段指定的类型非常长。这样会影响我们的导出速度,可以手动更改一下,比如讲Longtext改为varcha,并根据实际情况定义一下长度。这样会大大提高导出速度。
导出数据条数和字段多少、长度都有关系,具体没有测试过它的极限,仍有可能因为大量数据导出时出现“电子表满”的情况,但是已经完美解决了我遇到的问题

你可能感兴趣的:(打杂踩坑记录,数据库,excel,sqlserver)