我做的报表是这样的,上部是用c#画的图,下部是一个datagrid表格,现在我想把图和表格一起导出,请问各位前辈高人如何导出
解决方案 »
- 如何合并这样的list<object>
- 窗体的KeyDown 我按了一个键 没反应 怎么回事啊
- Html的输入框中,有没有能够包含其它标记语言的啊(即输入框的内容可以显示格式标记)
- 求助,datagrid中dropdownlist数据绑定的较复杂问题!急,在线等....
- DrawLine画线问题(与波形有关的)
- 为什么此函数永远返回true
- 如何调入宏?
- 在net2003下如何取出datagrid 的<EditItemTemplate>中textbox的值?
- c#打印如何调用 斑马打印机 GK888t
- 求高手啊,如何用C#语言实现matlab中的二次规划quadprog工具箱功能?
- 请教:怎么让webbrowser执行javascript代码并返回执行后的html
- 用过vs2010 model project的请进来
也可使用水晶报表显示图表
Excel.Workbook xlBook;
Excel.Worksheet xlSheet;
Excel.Range xlsRange;
System.Drawing.Bitmap bmp = new Bitmap(150,20);
System.Drawing.Graphics g = Graphics.FromImage(bmp);
xlBook = (Excel.Workbook)myExcel.Workbooks.Add("");
xlSheet = (Excel.Worksheet)xlBook.Worksheets[1];
myExcel.Visible = true;
xlSheet.Activate(); myExcel.Cells[1, 1] = "123";
myExcel.Cells[1, 2] = "456";
myExcel.Cells[2, 1] = "aaa";
myExcel.Cells[2, 2] = "bbb";
g.DrawLine(new System.Drawing.Pen(System.Drawing.Color.Blue), 1, 1, 100, 100);
System.Windows.Forms.Clipboard.SetDataObject(bmp, true); xlsRange = xlSheet.get_Range((Excel.Range)xlSheet.Cells[1,3],(Excel.Range)xlSheet.Cells[1,3]);
myExcel.get_Range((Excel.Range)myExcel.Cells[1,3],(Excel.Range)myExcel.Cells[1,3]).ColumnWidth = 30;
myExcel.get_Range((Excel.Range)myExcel.Cells[1,3],(Excel.Range)myExcel.Cells[1,3]).RowHeight = 30;
xlSheet.Paste(xlsRange, bmp); xlsRange = xlSheet.get_Range((Excel.Range)xlSheet.Cells[2,3],(Excel.Range)xlSheet.Cells[2,3]);
myExcel.get_Range((Excel.Range)myExcel.Cells[2,3],(Excel.Range)myExcel.Cells[2,3]).ColumnWidth = 30;
myExcel.get_Range((Excel.Range)myExcel.Cells[2,3],(Excel.Range)myExcel.Cells[2,3]).RowHeight = 30;
xlSheet.Paste(xlsRange, bmp);
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "Execl files (*.xls)|*.xls";
saveFileDialog.FilterIndex = 0;
saveFileDialog.RestoreDirectory = true;
saveFileDialog.CreatePrompt = true;
saveFileDialog.Title = "Export Excel File To";
saveFileDialog.ShowDialog(); Stream myStream;
myStream = saveFileDialog.OpenFile();
StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding(-0));
string str = ""; try
{
//写标题
for (int i = 0; i < frm29.dataGridView1.ColumnCount; i++)
{
if (i > 0)
{
str += "\t";
} str += frm29.dataGridView1.Columns[i].HeaderText;
}
sw.WriteLine(str);
//写内容
for (int j = 0; j < frm29.dataGridView1.Rows.Count; j++)
{
string tempStr = "";
for (int k = 0; k < frm29.dataGridView1.Columns.Count; k++)
{
if (k > 0)
{
tempStr += "\t";
}
tempStr += frm29.dataGridView1.Rows[j].Cells[k].Value + "";
}
sw.WriteLine(tempStr);
} sw.Close();
myStream.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
} finally
{
sw.Close();
myStream.Close();
}请问怎样在这段代码中插入图片
这里有一个事例,打印,导出都可以实现