我是C#的新手。使用iTextSharp我可以将dataGridView1中的数据导出为PDF文件,但是当我这样做时,PDF不会显示♫,→或►(Unicode)等字符。所以我正在阅读这个,但我不明白,基本上所有的解决方案都在ASP.NET或VB.NET中。我正在使用Visual C#Express 2010.这是我用来导出PDF的代码:
colstoremove <- list();
for (i in range(dim(I.df.nocov)[2])) {
x <- shapiro.test(I.df.nocov[1:200,i])
colstoremove[[i]] <- x[2]
}
此方法获取列datagridview
的大小public void GenerarDocumento(Document document)
{
//se crea un objeto PdfTable con el # de columnas del dataGridView
PdfPTable datatable = new PdfPTable(dataGridView1.ColumnCount);
//asignamos algunas propiedades para el diseño del pdf
datatable.DefaultCell.Padding = 3;
float[] headerwidths = GetTamañoColumnas(dataGridView1);
datatable.SetWidths(headerwidths);
datatable.WidthPercentage = 100;
datatable.DefaultCell.BorderWidth = 2;
datatable.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER;
//SE GENERA EL ENCABEZADO DE LA TABLA EN EL PDF
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
datatable.AddCell(dataGridView1.Columns[i].HeaderText);
}
datatable.HeaderRows = 1;
datatable.DefaultCell.BorderWidth = 1;
//SE GENERA EL CUERPO DEL PDF
for (int i = 0; i < dataGridView1.RowCount; i++)
{
for (int j = 0; j < dataGridView1.ColumnCount; j++)
{
datatable.AddCell(dataGridView1[j, i].Value.ToString());
}
datatable.CompleteRow();
}
//Add PdfTable to the doc
document.Add(datatable);
}
这是按钮导出为PDF:
public float[] GetTamañoColumnas(DataGridView dg)
{
float[] values = new float[dg.ColumnCount];
for (int i = 0; i < dg.ColumnCount; i++)
{
values[i] = (float)dg.Columns[i].Width;
}
return values;
}
我需要在代码中更改什么?我该怎么做?