から変換することができるかどう
次のポストに受け入れられた解決策は、あなたを助けるかもしれません。あなたはボタンコントロール(またはその他の必要な)を作成
その後
private T FindToolStrip<T>(Control control) where T : System.Windows.Forms.Control
{
if (control == null)
{
return null;
}
else if (control is T)
{
return (T)control;
}
else
{
T result = null;
foreach (Control embedded in control.Controls)
{
if (result == null)
{
result = FindToolStrip<T>(embedded);
}
}
return result;
}
}
し、その中にこのコードを追加します:これは、その関数のC#バージョンである
ToolStrip ts = new ToolStrip();
ts = FindToolStrip<ToolStrip>(this.reportViewer1);
ts.Items[13].PerformClick();
項目13は、印刷プレビューでレポートビューアのツールストリップ上のすべてのボタンのインデックスを取得し、アイテムの名前を書き出すことができます(合計21個ありますが、一部はセパレータまたはラベルです)。このコードを使用して、それらのいずれかをトリガーすることができます(エクスポートを除いて、エクスポートはドロップダウンボタンで、通常のものではありません)。
Warning[] warnings;
string[] streamids;
string mimeType;
string encoding;
string extension;
string path = " ";
DialogResult dr= saveFileDialog1.ShowDialog();
path = saveFileDialog1.FileName;
byte[] bytes = reportViewer1.LocalReport.Render("Excel", null, out mimeType, out encoding, out extension, out streamids, out warnings);
FileStream fs = new FileStream(path + ".xls", FileMode.Create);
fs.Write(bytes, 0, bytes.Length);
fs.Close();
ここでも、あなたはbutton_Click方法または類似した何かにそれを置くことができます:あなたが興味を持っている場合、これは、.xlsファイルに表示されたレポートをエクスポートするコードです。私は他の拡張子(.pdfまたは.doc)で試してみることはできませんが、うまくいくはずです。保存しようとしているファイルの拡張子をパス文字列に追加する必要があります。そうしないと、作成したファイルを開くことができません。 問題の解決に役立つことを願っています。