winform中Listview数据导入导出

a124819202 2010-01-26 08:22:07
需要将Listview中数据导入、导出到excel中去。只要代码 关键地方能带上注释。
...全文
530 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
a124819202 2010-01-27
  • 打赏
  • 举报
回复
我也同意1楼 2楼做法,可是需求要这么做·· 郁闷了
kingcsx666 2010-01-26
  • 打赏
  • 举报
回复
楼上各位回复的已经很完整了

导出的话,最好是直接从datatable导出,因为网格中的列并不完整
Jackile 2010-01-26
  • 打赏
  • 举报
回复
回复的兄弟已经够详细了。楼主也忒那个了。
a124819202 2010-01-26
  • 打赏
  • 举报
回复
我需要用SaveFileDialog来保存,OpenFileDialog来打开
wuyq11 2010-01-26
  • 打赏
  • 举报
回复
public static void ExpToExcel(ListView lst)
{
if (lst.Items.Count == 0) return;
Excel.Application excel = new Excel.Application();
Excel.Workbooks workbooks = excel.Workbooks;
Excel.Workbook workbook = workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
Excel.Sheets worksheets = workbook.Worksheets;
Excel.Worksheet sheet = (Excel.Worksheet) worksheets.get_Item(1);
excel.Visible = true;
Excel.Range range;
excel.Cells.Select();
excel.Cells.RowHeight = 30;
excel.Cells.Font.Size = 10;
excel.Cells.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
int rowPos = 2;
range = excel.get_Range(sheet.Cells[rowPos,1],sheet.Cells[rowPos,1]);
range.Select();

for(int i=1;i<=lst.Columns.Count;i++)
{
range = excel.get_Range(sheet.Cells[rowPos,i],sheet.Cells[rowPos,i]);
range.Borders.LineStyle = 1;
range.Font.Name = "华文仿宋";
range.Font.Size = 16;
range.Font.Bold = true;
range.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
range.ColumnWidth = 18;
sheet.Cells[rowPos,i] = listviewname.Columns[i-1].Text.ToString();

}
rowPos++;
foreach(ListViewItem item in listviewname.Items)
{
for(int i=1;i<=listviewname.Columns.Count;++i)
{
range = excel.get_Range(sheet.Cells[rowPos,i],sheet.Cells[rowPos,i]);
range.Borders.LineStyle = 1;
range.Font.Name = "华文仿宋";
range.Font.Size = 12;
range.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
range.NumberFormat = Excel.XlParameterDataType.xlParamTypeUnknown ;
sheet.Cells[rowPos,i] = item.SubItems[i-1].Text;
}
rowPos++;
}
GC.Collect() ;
}
panliuwen 2010-01-26
  • 打赏
  • 举报
回复

//此方法接收一个ListView将全部数据导入EXCEL
public void OperateExcel(ListView list,string text)
{

//text为些Excel的标题
Excel.Application ss=new Excel.Application();//开启Excel
ss.Application.Workbooks.Add(true);
ss.Visible=true;
ss.Cells[1,4]=text;
for(int x=1;x<=list.Columns.Count;x++)
{

ss.Rows.Cells[2,x]=list.Columns[x-1].Text;
}
for(int i=3;i<=list.Items.Count+2;i++)
{
for(int j=1;j<=list.Columns.Count;j++)
{
ss.Rows.Cells[i,j]=list.Items[i-3].SubItems[j-1].Text+",";
}
}
}
//此方法接收一个ListView将其中选中数据导入EXCEL
public void OperatePostExcel(ListView list,string text)
{
Excel.Application ss=new Excel.Application();
ss.Application.Workbooks.Add(true);
ss.Visible=true;
ss.Cells[1,4]=text;
for(int x=1;x<=list.Columns.Count;x++)
{
ss.Rows.Cells[2,x]=list.Columns[x-1].Text;
}
for(int i=3;i<=list.SelectedItems.Count+2;i++)
{
for(int j=1;j<=list.Columns.Count;j++)
{

ss.Rows.Cells[i,j]=list.SelectedItems[i-3].SubItems[j-1].Text+",";

}
}
}


http://xplu20000.blog.hexun.com/9326470_d.html

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧