c#如何将html标签写入指定的excel中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#如何将html标签写入指定的excel中相关的知识,希望对你有一定的参考价值。

  有这样的任务,通过ADO.NET从数据库读取数据到DataSet,数据绑定到DataGrid或者.NET2.0里的新控件DataGridView,最后将数据写入Excel文件,提供给用户进一步的分析,如打印、图表等。
  有这样的任务,通过ADO.NET从数据库读取数据到DataSet,数据绑定到DataGrid或者.NET2.0里的新控件DataGridView,最后将数据写入Excel文件,提供给用户进一步的分析,如打印、图表等。
  前面的步骤都很简单,关键是写Excel,毕竟Excel不是数据格式,在C#中调用Excel表格要使用到Excel的COM组件。如果你装的Office2000 ,在"C:\\Program Files\\Microsoft Office\\Office"可以找到这个COM组件"EXCEL9.OLB",这些COM组件都是非受管代码的,要在C#中使用这些非受管代码的COM组件,就必须把他们转换成受管代码的类库。所以在用C#调用Excel表格之前,必须完成从COM组件的非受管代码到受管代码的类库的转换。在DOS命令行下键入:
  tlbimp excel9.olb
  这样在excel9.olb目录下就产生了三个DLL文件:"Excel.dll"、"Office.dll"、"VBIDE.dll"。
  但Office2000以后的版本没有*.olb文件,对2003可以直接到OFFICE安装目录,利用.net 中带的工具在命令提示符下执行:
  tlbimp excel.exe
  还是会生成Excel.dll,在工程中引用这个文件就可以了。
  这样与Excel有关的类都加了进来,别忘了在namespace里添加using Excel。
  窗体上添加一个按钮,对Click事件方法如下:
  private void button1_Click(object sender, EventArgs e)
  
  int count = this.archiverdbDataSet.channel.Rows.Count;//获取数据表中DataRow行总数
  int column = this.archiverdbDataSet.channel.Columns.Count;//获取数据表中列总数
  Excel.ApplicationClass excelapp = new ApplicationClass();
  //Make Excel Application Visible
  excelapp.Visible = true;
  //写入特定文件
  //Excel.Workbook wb = excelapp.Workbooks.Open(string filename,
  // Type.Missing,Type.Missing,Type.Missing,Type.Missing,
  // Type.Missing,Type.Missing,Type.Missing,Type.Missing,
  // Type.Missing,Type.Missing,Type.Missing,Type.Missing,
  // Type.Missing,Type.Missing);
  Excel.Workbook wb = excelapp.Application.Workbooks.Add(true);
  for (int x = 1; x <= count; x++)
  
  for (int y = 1; y <= column; y++)
  
  excelapp.Cells[x, y] = this.archiverdbDataSet.channel.Rows[x- 1].ItemArray[y - 1];
  
  
  string tname = "C:\\Book2.xls";
  wb.SaveAs(tname, Missing.Value, Missing.Value, Missing.Value, Missing.Value,Missing.Value, Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value,Missing.Value, Missing.Value, Missing.Value);
  try
  
  wb.Saved = true;
  excelapp.UserControl = false;
  //excelapp.Quit();
  
  catch(System.Exception op)
  
  MessageBox.Show("wrong" + op.Message);
  
  
  以上在VS.net 2005里测试通过。当然你还可以把Excel做的漂亮点,参考文档有例子,不过没试过。
参考技术A 这个就要用到配置文件来做,其实没必要那样做更麻烦的。 参考技术B c# 写excel 实例可以提供

利用Python中的pandas如何写入到excel指定的单元格中?

比如:将数值100写入到excel中的sheet1中第2行第3列的单元格中,sheet1中还有其他已存在的内容,这些内容不变,只在指定位置写入数值100。如何实现呢?

参考技术A 利用第三方库:openpyxl 可以实现,示例代码如下:
from openpyxl import Workbook
wb = Workbook()
ws = wb['sheet1']
ws['C2'].value = 100

以上是关于c#如何将html标签写入指定的excel中的主要内容,如果未能解决你的问题,请参考以下文章

C# winform 的listView控件如何将单元格写入值

java将画面中输入的内容,写入到指定的Excel文件的指定的行列中(具体实例)

如何用java向指定的EXCEL单元格中写入数据?

如何在C#中写Excel文件

如何用java向指定的Excel中写入数据

按键精灵如何把复制的数据写入到excel指定单元格中