How can I unmerge the merged cells in a Excel sheet quickly?
Pls help me :)
"Tomorrow" wrote:
I want a function like this:
to unmerge all merged cells in a Excel sheet and replaced all the merged
cells value with the originally merged area value after unmerging action.
I use the a cycle to fulfill it. But it's too too slowly if the Excel sheet
data is a little big. The code (c# code) as below:
for (int i=1; i<=Int32.Parse(ws.UsedRange.Rows.Count.ToString()) ;i++)
{
for (int j=1; j<=Int32.Parse(ws.UsedRange.Columns.Count.ToString ()); j++)
{
Excel.Range Range = (Excel.Range)ws.Cells[i,j];
if (bool.Parse(Range.MergeCells.ToString()))
{
int x = Int32.Parse(Range.MergeArea.Rows.Count.ToString()) ;
int y = Int32.Parse(Range.MergeArea.Columns.Count.ToString ());
string TempValue = Range.Text.ToString();
Range.MergeArea.UnMerge();
for (int m = i; m<(i+x); m++)
{
for (int n = j; n<(j+y); n++)
{
Excel.Range TempRange = (Excel.Range)ws.Cells[m,n];
TempRange.set_Value( Type.Missing,TempValue);
}
}
}
}
}
Does Somebody have another idea to do it quickly??
Thanks.
|