def write_header
return if @biff_only == true
calculate_sizes
root_start = @root_start
write([0xD0CF11E0, 0xA1B11AE1].pack("NN"))
write([0x00, 0x00, 0x00, 0x00].pack("VVVV"))
write([0x3E, 0x03, -2, 0x09].pack("vvvv"))
write([0x06, 0x00, 0x00].pack("VVV"))
write([@list_blocks, root_start].pack("VV"))
write([0x00, 0x1000,-2].pack("VVV"))
write([0x00, -2 ,0x00].pack("VVV"))
unused = [-1].pack("V")
1.upto(@list_blocks){
root_start += 1
write([root_start].pack("V"))
}
@list_blocks.upto(108){
write(unused)
}
end