vs2008开发工具如果ListView控件绑定数据以后  我想做个在页面可以导出数据到word和excel文档中的控件,请问各位大虾有没有部分代码供参考下,c#,万分感谢!

解决方案 »

  1.   


    listview导出数据到execl        public static bool ExportForListView(ListView listView, string fileName, bool isShowExcle)
            {
                FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write);
                StreamWriter sw = new StreamWriter(fs, Encoding.Unicode);
                try
                {
                    string excel = "";      //用于存放要写入的一行文本。
                    for (int i = 0; i < listView.Columns.Count; i++)
                    {
                        if (listView.Columns[i].Width > 0)
                        {
                            excel = excel + listView.Columns[i].Text.ToString().Trim() + Convert.ToChar(9);
                        }
                    }
                    sw.WriteLine(excel);    //写入DataGridView的标题行。
                    excel = "";
                    for (int i = 0; i < listView.Items.Count; i++)
                    {
                        for (int j = 0; j < listView.Columns.Count; j++)
                        {
                            if (listView.Columns[j].Width > 0)
                            {
                                if (listView.Items[i].SubItems[j].Text.ToString() == null)
                                    excel = excel + "" + Convert.ToChar(9);    //循环写入每一行
                                else
                                    excel = excel + listView.Items[i].SubItems[j].Text.ToString() + Convert.ToChar(9);
                            }
                        }
                        sw.WriteLine(excel);
                        excel = "";
                    }           }
                catch
                {
                    return false;
                }
                finally
                {
                    sw.Close();
                    fs.Close();
                    if (isShowExcle)
                    {
                        System.Diagnostics.Process.Start(fileName);
                    }
                }
                return true;
            }