WinForm下DataGridView导出Excel的实现(简单无错版,带另存对话框)

private void ExportExcel(string fileName, DataGridView myDGV)
{
string saveFileName = "";
SaveFileDialog saveDialog = new SaveFileDialog();
saveDialog.DefaultExt = "xls";
saveDialog.Filter = "Excel文件|*.xls";
saveDialog.FileName = fileName;
saveDialog.ShowDialog();
saveFileName = saveDialog.FileName;
if (saveFileName.IndexOf(":") < 0) return; //被点了取消
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
if (xlApp == null)
{
MessageBox.Show("无法创建Excel对象,可能您的机子未安装Excel");
return;
}

Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks;
Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//取得sheet1

//写入标题
for (int i = 0; i < myDGV.ColumnCount; i++)
{
worksheet.Cells[1, i + 1] = myDGV.Columns[i].HeaderText;
}
//写入数值
for (int r = 0; r < myDGV.Rows.Count; r++)
{
for (int i = 0; i < myDGV.ColumnCount; i++)
{
worksheet.Cells[r + 2, i + 1] = myDGV.Rows[r].Cells[i].Value;
}
System.Windows.Forms.Application.DoEvents();
}
worksheet.Columns.EntireColumn.AutoFit();//列宽自适应
if (saveFileName != "")
{
try
{
workbook.Saved = true;
workbook.SaveCopyAs(saveFileName);
}
catch (Exception ex)
{
MessageBox.Show("导出文件时出错,文件可能正被打开!\n" + ex.Message);
}

}
xlApp.Quit();
GC.Collect();//强行销毁
MessageBox.Show(fileName + "保存成功", "提示", MessageBoxButtons.OK);
}

C#调用存储过程实现Oracle数据库数据到XML文件的转换

需要解析的xml文件:people.xml:

猪猪

山东济南
18653111111 zsy214@163.com

阅读全文

编写Oracle存储过程,按照条件把数据导出至XML文件


需要解析的xml文件:people.xml
1
2 3 4 Tony Blair 5
10 Downing Street, London, UK
6 (061) 98765 7 (061) 98768 8 blair@everywhere.com 9
10 11 Bill Clinton 12
White House, USA
13 (001) 6400 98765 14 (001) 6400 98769 15 bill@everywhere.com 16
17 18 Tom Cruise 19
57 Jumbo Street, New York, USA
20 (001) 4500 67859 21 (001) 4500 67895 22 cruise@everywhere.com 23
24 25 Linda Goodman 26
78 Crax Lane, London, UK
27 (061) 54 56789 28 (061) 54 56772 29 linda@everywhere.com 30
31

阅读全文

编写Oracle存储过程解析XML,并把数据持久化

需要解析的xml文件:people.xml

 1 
 2 
 3     
 4         Tony Blair
 5         
10 Downing Street, London, UK
6 (061) 98765 7 (061) 98768 8 blair@everywhere.com 9
10 11 Bill Clinton 12
White House, USA
13 (001) 6400 98765 14 (001) 6400 98769 15 bill@everywhere.com 16
17 18 Tom Cruise 19
57 Jumbo Street, New York, USA
20 (001) 4500 67859 21 (001) 4500 67895 22 cruise@everywhere.com 23
24 25 Linda Goodman 26
78 Crax Lane, London, UK
27 (061) 54 56789 28 (061) 54 56772 29 linda@everywhere.com 30
31

阅读全文

win7系统下通过命令行的形式打开某个端口

netsh advfirewall firewall add rule name="Oracle" dir=in protocol=tcp localport=* action=allow

其中*就是要打开的端口号