gpt4 book ai didi

c# - 使用 Visual Studio 2010 - C# 将数据从 Excel 传输到 Word

转载 作者:太空宇宙 更新时间:2023-11-03 13:59:03 25 4
gpt4 key购买 nike

这是我的第一个问题。我正在使用 Visual Studio 2010,我想为销售目录设计一个 Excel 加载项。它有两种形式,我让其中一种工作,但另一种不工作。我想要实现的是,我通过插件打开一个 Windows 窗体,并通过该窗体从我的 Access 数据库中获取数据。我将数据导入数据网格,然后将数据导出到 Excel。

我让这部分工作正常,但我的下一个表格有问题。在那种形式下,我想打开一个 Word 模板(当我按下一个按钮时),然后打开的 Excel 文件中的数据将传输到我的 Word 文档中。有谁知道最好的方法是什么?我使用 OleDBConnection 将数据从数据库获取到数据网格。我正在为 Office 2007 设计这个,我正在用 C# 编程。

这是我的部分代码。我使用这部分将 Excel 文件中的数据导入到 DataGrid 中,但我希望能够将该数据导入到 WordDocument 中。有谁知道最好的方法是什么。

DataSet da = new DataSet();
OleDbDataAdapter adapter = new OleDbDataAdapter();
string workbookPath = "C:myfile.xlsx";

Excel.Workbook wb = Globals.ThisAddIn.Application.Workbooks.Add(workbookPath);
string ConnectionString =
@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + workbookPath
+ @";Extended Properties=""Excel 12.0 Macro;HDR=Yes;ImpoertMixedTypes=Text;TypeGuessRows=0""";

OleDbConnection conn = new OleDbConnection(ConnectionString);
string strCmd = " select * from [Sheet1$A1:D4]"; //Or some other range
OleDbCommand cmd = new OleDbCommand(strCmd, conn);

conn.Open();
da.Clear();
adapter.SelectCommand = cmd;
adapter.Fill(da);
dataGridView1.DataSource = da.Tables[0];

提前致谢。

最佳答案

好的,在 jmh_gr 的帮助下,我成功地完成了这项工作。这是它的样子。它基本上做了它应该做的事情,从 Excel 复制数据并将其粘贴到 Word。

object fileName = "C:\\Template_1.docx";
string workbookPath = "C:\\Book1.xlsx";
Excel.Workbook wb = Globals.ThisAddIn.Application.Workbooks.Add(workbookPath);
Excel.Worksheet ws = wb.Worksheets[1];
ws.Range["A1:D4"].Copy();

object missing = System.Reflection.Missing.Value;
Word.Application wordApp = Marshal.GetActiveObject("Word.Application") as Word.Application;
Word.Document doc;
Word.Range rng;
doc = wordApp.ActiveDocument;
rng = wordApp.Selection.Range;

object objDataTypeMetafile = Word.WdPasteDataType.wdPasteRTF;
rng.PasteSpecial(ref missing, ref missing,
ref missing, ref missing, ref objDataTypeMetafile,
ref missing, ref missing);

关于c# - 使用 Visual Studio 2010 - C# 将数据从 Excel 传输到 Word,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11192744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com