C# DataSet转为word 急用! 我把xml文件转为DataSet了,现在需要把DataSet转为Word导出。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# DataSet转为word 急用! 我把xml文件转为DataSet了,现在需要把DataSet转为Word导出。相关的知识,希望对你有一定的参考价值。

或者有可以直接把.xml文件转为.word的代码也可以。
直接改后缀名的白痴就不用进来了。
有效的及时的+分!
这是我把xml转为DataSet的语句

有个前提是 需要引入命名空间using Microsoft.Office.Interop.Word; 这个你知道怎么做吧!
/// <summary>
/// 把数据文件导入到.docx文件
/// </summary>
/// <param name="ds"></param>
public void ExportToWord(DataSet ds, string path) //这里path是保存路径而已

object paths = (object)path;
if (ds.Tables.Count != 0)

object tableBehavior = Microsoft.Office.Interop.Word.WdDefaultTableBehavior.wdWord9TableBehavior;
object autoFitBehavior = Microsoft.Office.Interop.Word.WdAutoFitBehavior.wdAutoFitFixed;
object unit = Microsoft.Office.Interop.Word.WdUnits.wdStory;
object extend = System.Reflection.Missing.Value;
object breakType = (int)Microsoft.Office.Interop.Word.WdBreakType.wdSectionBreakNextPage;
object count = 1;
object character = Microsoft.Office.Interop.Word.WdUnits.wdCharacter;
object noThing = System.Reflection.Missing.Value;

try
Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.ApplicationClass();
Microsoft.Office.Interop.Word._Document doc = new Microsoft.Office.Interop.Word.DocumentClass();
doc = word.Documents.Add(ref noThing, ref noThing, ref noThing, ref noThing);
doc.Activate();

for (int totalTable = 0; totalTable < ds.Tables.Count; totalTable++)
word.Application.Selection.TypeText(ds.Tables[totalTable].TableName+"表的数据如下:");
word.Application.Selection.TypeParagraph();
Microsoft.Office.Interop.Word.Range para = word.Application.Selection.Range;
doc.Tables.Add(para,ds.Tables[totalTable].Rows.Count+1,ds.Tables[totalTable].Columns.Count,ref tableBehavior,ref autoFitBehavior);
for (int column = 0; column < ds.Tables[totalTable].Columns.Count; column++)
doc.Tables[totalTable+1].Cell(1, column + 1).Range.InsertBefore(ds.Tables[0].Columns[column].ColumnName.Trim());

for (int row = 0; row < ds.Tables[totalTable].Rows.Count; row++)
for (int column = 0; column < ds.Tables[totalTable].Columns.Count; column++)
doc.Tables[totalTable + 1].Cell(row + 2, column + 1).Range.InsertBefore(ds.Tables[totalTable].Rows[row][column].ToString().Trim());


word.Application.Selection.EndKey(ref unit,ref extend);
word.Application.Selection.TypeParagraph();
word.Application.Selection.InsertBreak(ref breakType);


word.Application.Selection.TypeBackspace();
word.Application.Selection.Delete(ref character,ref count);
word.Application.Selection.HomeKey(ref unit,ref extend);

try
doc.SaveAs(ref paths,ref noThing,ref noThing,ref noThing,ref noThing,ref noThing,ref noThing,ref noThing,ref noThing,ref noThing,ref noThing,ref noThing,ref noThing,ref noThing,ref noThing,ref noThing);
word.Visible=true;
catch
System.Windows.Forms.MessageBox.Show("系统找不到指定目录下的文件");
return;

word.Visible = true;
catch(Exception ex)
System.Windows.Forms.MessageBox.Show("向word文件中写入数据出错: " + ex.Message.ToString());

else
System.Windows.Forms.MessageBox.Show("No Data");


完整的代码 无需修改追问

大哥,你这样写应该是对的,但是有个问题能不能加下好友,我们私聊下。再追问要被扣分的。有没有搞定,这个分都给你。我QQ:378964278,引用我知道需要添加的

参考技术A 问问题的时候,说话不能谦虚点吗?别人给你提改后缀名的意见,虽然没用,也是出于帮你的好意。

以上是关于C# DataSet转为word 急用! 我把xml文件转为DataSet了,现在需要把DataSet转为Word导出。的主要内容,如果未能解决你的问题,请参考以下文章

C# 将Word转为PDF时,设置PDF文档保护

asp.net中,把word文档转为PDF格式文件的问题。

C#中这样将DataSet转换为DataTable?

c# winform里一个函数返回几个值,我把这几个值返回到一个数据集里

C# 怎么处理Word文件的乱码

怎么才能用c#实现usb摄像头录像啊,😂急用