//加载内容
ListViewItem li = new ListViewItem();
li.SubItems.Clear();
li.SubItems[0].Text =("");
li.SubItems.Add("");
li.SubItems.Add("");
li.SubItems.Add("");
li.SubItems.Add("");
li.SubItems.Add(q);
li.SubItems.Add("");
li.SubItems.Add("");
li.SubItems.Add("");
li.SubItems.Add("");
li.SubItems.Add("");
li.SubItems.Add();
li.SubItems.Add("");
li.SubItems.Add("");
li.SubItems.Add("");
pdslistView.Items.Add(li);
怎样导入或导出EXCEL工作页呢
谢谢
ListViewItem li = new ListViewItem();
li.SubItems.Clear();
li.SubItems[0].Text =("");
li.SubItems.Add("");
li.SubItems.Add("");
li.SubItems.Add("");
li.SubItems.Add("");
li.SubItems.Add(q);
li.SubItems.Add("");
li.SubItems.Add("");
li.SubItems.Add("");
li.SubItems.Add("");
li.SubItems.Add("");
li.SubItems.Add();
li.SubItems.Add("");
li.SubItems.Add("");
li.SubItems.Add("");
pdslistView.Items.Add(li);
怎样导入或导出EXCEL工作页呢
谢谢
解决方案 »
- 多线程调用委托方法 后台执行
- winform下,设置控件的enbled=false ,字体就会变成灰色.有什么方法可以修改字体颜色吗?
- winform多线程问题
- 关于DataGridView和BindingNavigator的使用
- c# 如何让窗体只有最大 最小化两种状态
- 用C#做一个电子公章谁能帮忙????????
- 坚持不懈,继续提问。关于Outlook Custom Form的问题
- 我在C#中要在select语句中使用程序中的变量应该如何处理?
- 请问 急急急急急死我了
- Png设置透明
- 熟悉X509证书,WCF,Windows服务的进;
- 求 c# combobox数据绑定完整代码 大侠们请不惜赐教。。
http://blog.csdn.net/yubo35033720/archive/2007/05/30/1630576.aspx
http://topic.csdn.net/u/20081226/23/9d52ffda-8016-4a9a-b170-8a34d40de2c1.html
调用下面的方法,直接传listview控件名称就行了public void ExportExcel(ListView lv)
{
if(lv.Items == null) return;
string saveFileName = "";
SaveFileDialog saveDialog = new SaveFileDialog();
saveDialog.DefaultExt = "xls";
saveDialog.Filter = "Excel文件|*.xls";
saveDialog.FileName = DateTime.Now.ToString("yyyy-MM-dd");
saveDialog.ShowDialog();
saveFileName = saveDialog.FileName;
if (saveFileName.IndexOf(":") < 0)
return;
//这里直接删除,因为saveDialog已经做了文件是否存在的判断
if(File.Exists(saveFileName))File.Delete(saveFileName);
Excel.Application xlApp = new Excel.Application();
if (xlApp == null)
{
MessageBox.Show("无法创建Excel对象,可能您的机器未安装Excel");
return;
}
Excel.Workbooks workbooks = xlApp.Workbooks;
Excel.Workbook workbook = workbooks.Add(true);
Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Worksheets[1];
xlApp.Visible = false;
//填充列
for(int i=0;i<lv.Columns.Count;i++)
{
worksheet.Cells[1,i+1] = lv.Columns[i].Text.ToString();
((Excel.Range)worksheet.Cells[1,i+1]).Font.Bold = true;
}
//填充数据(这里分了两种情况,1:lv带CheckedBox,2:不带CheckedBox)
//带CheckedBoxes
if(lv.CheckBoxes == true)
{
int tmpCnt = 0;
for(int i=0;i<lv.Items.Count;i++)
{
if(lv.Items[i].Checked == true)
{
for(int j=0;j<lv.Columns.Count;j++)
{
if(j==0)
{
worksheet.Cells[2+tmpCnt,j+1] = lv.Items[i].Text.ToString();
((Excel.Range)worksheet.Cells[2+tmpCnt,j+1]).HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft;
}
else
{
worksheet.Cells[2+tmpCnt,j+1] = lv.Items[i].SubItems[j].Text.ToString();
((Excel.Range)worksheet.Cells[2+tmpCnt,j+1]).HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft;
}
}
tmpCnt++;
}
}
}
else //不带Checkedboxe
{
for(int i=0;i<lv.Items.Count;i++)
{
for(int j=0;j<lv.Columns.Count;j++)
{
if(j==0)
{
worksheet.Cells[2+i,j+1] = lv.Items[i].Text.ToString();
((Excel.Range)worksheet.Cells[2+i,j+1]).HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft;
}
else
{
worksheet.Cells[2+i,j+1] = lv.Items[i].SubItems[j].Text.ToString();
((Excel.Range)worksheet.Cells[2+i,j+1]).HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft;
}
}
}
}
object missing = System.Reflection.Missing.Value;
try
{
workbook.Saved = true;
workbook.SaveAs(saveFileName,Excel.XlFileFormat.xlXMLSpreadsheet, missing, missing,false, false, Excel.XlSaveAsAccessMode.xlNoChange,missing, missing, missing, missing, missing);
}
catch (Exception e1)
{
MessageBox.Show("导出文件时出错,文件可能正被打开!\n" + e1.Message);
}
finally
{
xlApp.Quit();
System.GC.Collect();
}
MessageBox.Show("导出成功!");
}