从WPF中的ListView中导出数据到Excel

   ListView中队数据的导出与DataGridView略有不同。而且由于WPF中不支持创建WookBook直接来写数据到Excel中,因而在处理要进行一些技术性处理。下面以我前段时间做的一个处理为例。下面是示例方法:

 private void OutPutBill_Click(object sender, RoutedEventArgs e)
        {
            //判断是否有数据
            if (SignInList.ItemsSource == null)        //SignInList是WPF中的ListView,即为数据源
            {
                MessageBox.Show("没有可供导出的数据");
                return;
            }
            //创建数据导出文件对话框,以设置文件路径
            SaveFileDialog saveFile = new SaveFileDialog() { Filter = "CSV Files (*.csv)|*.csv|Excel Files (*.xls)|*.xls|All   files (*.*)|*.*" };
            saveFile.Title = "导出文件路径";
            saveFile.FilterIndex = 2;
            return saveFile;            StringBuilder strBuilder = new StringBuilder();
            if (saveFile.ShowDialog() == true)
            {
                //获取文件格式
                string strFormat = saveFile.SafeFileName.Substring(saveFile.SafeFileName.IndexOf('.') + 1).ToUpper();
                List<string> signLists = new List<string>();
                //将ListView的Header写入
                if (1 == 1)
                {
                    signLists.Clear();
                    //根据ListView的Header名称(ListVew中Header对应的Name)访问获取其文本
                    signLists.Add(Format(BillNO.Header.ToString(), strFormat));  //调用公共方法进行字符转换
                    signLists.Add(Format(ResumeNO.Header.ToString(), strFormat));
                    signLists.Add(Format(ExamTypeName.Header.ToString(), strFormat));
                    signLists.Add(Format(SignState.Header.ToString(), strFormat));
                    signLists.Add(Format(SignInDate.Header.ToString(), strFormat));
                    signLists.Add(Format(SignInTime.Header.ToString(), strFormat));
                    //按行写入Header
                    BuilderStringOfRow(strBuilder, signLists, strFormat);

                }
                forea

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值