首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >当导出到csv文件时,Sql的小报表正在以不正确的顺序显示列。

当导出到csv文件时,Sql的小报表正在以不正确的顺序显示列。
EN

Stack Overflow用户
提问于 2014-03-20 07:24:43
回答 1查看 46关注 0票数 0

我正在用Power编写一个基本脚本,以便为我的部分就业项目学习它。我目前是一名.NET开发人员,但对power外壳有新的了解。实际上昨天才开始。无论如何,谁能看看这个脚本,让我知道为什么输出文件中的列顺序与我们sql查询的正确顺序不匹配?

其概念是将其读入数组中,使用每一行的对象。任何帮助都将不胜感激。谢谢!

这是下面的脚本,减去连接内容。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
########################################
#
#  USED TO GET RESULTS AND EXPORT TO SQL 
#
#
########################################



################################################
#   Lets first make sure we have the dates before we do anything else
################################################

$argsLength = $args.Length;

if($argsLength -lt 2)
{

  Write-Host "You must suply a date range in the format (from, to)."
  Write-Host "Example: PS> [command] from to : format [yyyy-mm-dd]";

}
else
{

   ###########################
   # Get the dates supplied by as params ###
   ###########################
   $from = $args[0];
   $to = $args[1];


   ###########################
   # Notify user job is now running
   ###########################
   Write-Host "Building report for dates " $from " to " $to "..."

   ###########################
   #Write-Host 'Get connection to SQL database'
   ###########################
   Try 
   {
     $Connection = New-Object System.Data.SQLClient.SQLConnection
     $Connection.ConnectionString = 
     $Connection.Open()
     $Command = New-Object System.Data.SQLClient.SQLCommand
     $Command.Connection = $Connection          

     $Connection2 = New-Object System.Data.SQLClient.SQLConnection
     $Connection2.ConnectionString = 
     $Connection2.Open()
     $Command2 = New-Object System.Data.SQLClient.SQLCommand
     $Command2.Connection = $Connection2 

   }
   Catch 
   {
     Throw "Can't connect to database..."
   }    

   ###########################
   #Write-Host 'Execute query'      
   ###########################
   $Command.CommandText = "SELECT job_number, job_desc, permit_number, pieces, rate, postage_total FROM monticello_charges WHERE (insert_date >= '$from') AND (insert_date < '$to') ORDER BY job_number"
   $Command2.CommandText = "SELECT job_number, description, permit_number, pieces, rate, total FROM mailshop_charges WHERE (mailing_date >= '$from') AND (mailing_date < '$to')ORDER BY permit_number, job_number"

   $Reader = $Command.ExecuteReader() 
   $Reader2 = $Command2.ExecuteReader()  

   ##### Do not add entries that have a [permit_number] of (360) and [rate] less than (0) ### #
   $results = @()
   while ($Reader.Read())
   {
        $row = @{}        
        for ($i = 0; $i -lt $Reader.FieldCount; $i++)
        {
            if($reader.GetValue(2) -eq 360 -and $reader.GetValue(4) -lt 0)
        {
              #pass over it
            }
            else
            {
               $row[$reader.GetName($i)] = $reader.GetValue($i)
            }             
        }
        $results += new-object psobject -property $row 
   }


   ##### Build the second table and replace 280 permits to (M) ###
   $results2 = @()
   while ($Reader2.Read())
   {       
        $row = @{}
        for ($i = 0; $i -lt $Reader2.FieldCount; $i++)
        {
            if($i -eq 2 -and $reader2.GetValue($i) -eq 280)
        {
              $row[$reader2.GetName($i)] = "M"
              $counter++
            }
            else
            {
               $row[$reader2.GetName($i)] = $reader2.GetValue($i)
            }             
        }
        $results2 += new-object psobject -property $row            
   }


   $finalResult = $results + $results2;

   $finalResult = $finalResult | sort-object @{Expression={$_.job_number}; Ascending=$true}

   $finalResult = $finalResult | sort-object @{Expression={$_.permit_number}; Ascending=$true}



    $finalResult | export-csv .\out.csv

    Write-Host "Report has been exported to current directoy. Filename:[out.csv]"
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-20 07:33:57

这是因为您使用的是哈希表,哈希表的枚举顺序可能与声明的顺序不同。如果您有Powershell V3,您可以使用有序类型加速器来创建一个有序哈希表,并且它将保持与在以下文件中创建的键相同的顺序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$row = [ordered]@{} 

或者可以在对象集合($finalresult)上使用Select来在导出之前设置所需的顺序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22537574

复制
相关文章
点击展开显示折叠内容
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/111722.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/12
2.8K0
点击展开显示折叠内容
如何实现文本内容折叠并显示“...查看全部”?
多行文本超过指定行数隐藏超出部分并显示“...查看全部”是一个常遇到的需求,网上也有人实现过类似的功能,不过还是想自己写写看,于是就写了一个vue的组件,本文简单介绍一下实现思路。
winty
2020/12/07
5.1K0
如何实现文本内容折叠并显示“...查看全部”?
技巧:文本超过N行折叠内容并显示“...查看全部”
多行文本超过指定行数隐藏超出部分并显示“...查看全部”是一个常遇到的需求,网上也有人实现过类似的功能,不过还是想自己写写看,于是就写了一个Vue的组件,本文简单介绍一下实现思路。
@超人
2021/02/26
2.8K0
技巧:文本超过N行折叠内容并显示“...查看全部”
技巧:文本超过N行折叠内容并显示“...查看全部”
多行文本超过指定行数隐藏超出部分并显示“...查看全部”是一个常遇到的需求,网上也有人实现过类似的功能,不过还是想自己写写看,于是就写了一个Vue的组件,本文简单介绍一下实现思路。
Nealyang
2021/02/01
2.5K0
技巧:文本超过N行折叠内容并显示“...查看全部”
ReactJS的简单介绍和使用
一、React的家世背景 React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设Instagram 的网站。做出来以后,发现这套东西很好用,就在2013年5月开源了。 Facebook的设计理念是独立、小巧、快速、创新,而React的特点也正说明了这一点。 二、React 更“轻”的MDV框架 先来说一下什么是MDV吧,MDV即Model Driven View,根据model动态生成view。MDV框架将程序员从传
lonelydawn
2018/02/09
1.4K0
reactjs
最近在学习react js,ReactJS是Facebook开发的用于构建用户界面的JAVASCRIPT库,利用其可以实现组件式开发。
用户1394570
2018/08/08
1.3K0
使用正则匹配并显示匹配的内容
最近在解析HTML文件,遇到这样的一个场景。我需要将HTML文件中data-url="xxx"中的xxx查找并显示出来。
大江小浪
2018/07/24
3K0
centos打开windows的ftp 无法显示内容 显示空白内容
centos下gnome打开windows FTP显示空白,无内容,windows下 打开正常。
全栈程序员站长
2022/07/05
6.3K0
centos打开windows的ftp 无法显示内容 显示空白内容
NodeJS和ReactJS,VUEJS的关系
网上找的科普贴,整理了一下发给大家,出处见底部链接。有许多类比的例子不太准确,大家参考下就行。
浩Coding
2019/08/26
6.2K0
NodeJS和ReactJS,VUEJS的关系
dotnet 使用 ShowMeTheXAML 显示 WPF 的 XAML 控件内容
本文来告诉大家一个好用的控件库,这个控件库可以方便用在自己编写示例项目中使用。使用 ShowMeTheXAML 控件库可以将某段 XAML 内容作为字符串文本内容显示出来,方便让其他开发者看到界面以及对应的内容
林德熙
2021/04/02
1.2K0
dotnet 使用 ShowMeTheXAML 显示 WPF 的 XAML 控件内容
使用cookie记录让JS弹出层只显示一次和oneindex使用记录
运用cookie的原理,一个页面只提示一次的DIV提示层。特别适合于页面的功能小提示等。可以做出类似QQ空间的功能提示。
怪兽
2022/09/20
1.5K0
使用reactJS要注意的地方
虽然react使用的jsx可以html和js混编,但是这里的html用的时候有的地方还是和原来的习惯不太一样。这里汇总一些我已经遇到的不一样,还有其他要注意的地方
黒之染
2018/10/19
5960
初学ReactJS,写了一个RadioButtonList组件
 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>React Demo</title> 5 <meta charset="utf-8" /> 6 </head> 7 <body> 8 <script src="Scripts/react.js"></script> 9 <script src="Scripts/JSXTransformer.js"></script> 10 <div id="container1
蒋金楠
2018/01/15
8760
初学ReactJS,写了一个RadioButtonList组件
Hello ReactJS
前言 React学习前先搭好环境,官网的例子看着比较分散。结合webpack就可以体验完整的es6开发流程了。 源码:https://github.com/Ryan-Miao/hello-react-js/releases/tag/0.1 1. 环境搭建 涉及以下几个技术。但从hello world的角度说,目前先不用知道是干嘛的,先用来学习react,后面再去研究各个组件的功能。 Webpack - A module bundler Babel - A Javascript compiler ES6 -
Ryan-Miao
2018/03/13
1.3K0
Hello ReactJS
CSS 控制内容显示行数
-webkit-line-clamp 用于限制块元素显示文本的行数,它是一个不规范的属性,没有出现在 CSS 规范草案中。
很酷的站长
2022/12/16
2.7K0
CSS 控制内容显示行数
ReactJS实现一个简单的评论列表
仔细观察,item 里的字段都来自外界,并非该组件,所以定义成无状态的 function 最好。
JavaEdge
2021/03/18
5670
swift textView内容显示不全
  意见反馈页面有一行提示文字,包含客服QQ,要求qq可点击。为了实现点击功能,这里的文本没有使用UILabel,而是采用了UITextView,使用textView的链接功能。
王大锤
2018/11/07
2.8K0
isomorphic reactjs
web应用从最早静态页面、到php后台框架输出、到mv*为主的SPA、到基于node中层的直出,目前有人提出web的下次改变可能将是基于isomorphic javascript的前后台同构应用。
IMWeb前端团队
2019/12/03
2.8K0
isomorphic reactjs
点击加载更多

相似问题

一次显示一个折叠内容

124

显示和隐藏折叠内容

227

如何在twitter bootstraps弹出窗口中显示链接和更多内容?

10

使用ReactJS隐藏/显示内容

432

一次显示一个<tbody>内容的Jquery折叠html表

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文